用c#语言编写分解质因数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1.提示并获取用户输入的合数,将该合数保存到变量number中
            int number;
            while (true)
            {
                Console.WriteLine("请输入一个合数(大于1):");
                number = int.Parse(Console.ReadLine());
                #region 判断number的值是否正确
                if (number <= 1)
                {
                    Console.Write("输入有误,输出的数字必须大于1,按回车键继续");
                    Console.ReadLine();
}
                else
                {
//判断number是否是质数
                bool isFind = false;
                    for (int i = 2; i < number; i++)
                    {
                        if(number % i == 0)
                        {
                            isFind  = true;
                            break ;
                        }
                    }
                    if (isFind )
                    {
                        //不是质数
                        break;
                    }
                    else 
                    {
                        //是质数
                        Console.Write("输入有误,输入的数字必须是合数,按回车键继续");
                        Console.ReadLine();
                        Console.Clear();
                    }
            #endregion
// 2.得到变量number所有的质因数,把它们保存到集合factors中
                    //创建一个用于保存质因数的集合
                    List<int> factors = new List<int>();
                    int n = number;
                    while(n != 1)
                    {
                        for(int i = 2; i < n; i++)
                        {
                            if (n % i == 0)
                            {
                                //i就是n的最小质因数
                                n = n / i;
                                factors.Add(i);
                                break;
                            }
                        }
                    }
                    //3.输出结果
                    string result = number + "=";
                    for (int i = 0; i < factors.Count ; i++)
                    {
                        result += factors[i];
                        if (i < factors.Count - 1)
                        {
                            result += "x";
}
                    }
                    Console.Write(result);
                    Console.ReadLine();
}
            }
        }
    }
}
用c#语言编写分解质因数的更多相关文章
- C语言程序设计100例之(5):分解质因数
		
例5 分解质因数 题目描述 将一个正整数分解质因数.例如:输入90,输出 90=2*3*3*5. 输入 输入数据包含多行,每行是一个正整数n (1<n <100000) . 输出 对 ...
 - 程序设计入门——C语言 第6周编程练习 1  分解质因数(5分)
		
1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...
 - 网易云课堂_程序设计入门-C语言_第五周:函数_1分解质因数
		
1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...
 - c语言程序设计第6周编程作业一(分解质因数)
		
分解质因数 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. 现在,你的程 ...
 - 中国MOOC_零基础学Java语言_第7周 函数_1分解质因数
		
第7周编程题 查看帮助 返回 第7周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
 - java求最大公约数(分解质因数)
		
下面是四种用java语言编程实现的求最大公约数的方法: package gcd; import java.util.ArrayList; import java.util.List; public c ...
 - 【操作系统】C语言编写的FAT16文件系统
		
[操作系统]C语言编写的FAT16文件系统 这是操作系统的期末课程设计作业之一,主要功能是在物理内存中虚拟出一个1M大小的FAT16的文件系统,然后把它读入内存中,进行具体的文件操作,具体的实用性不大 ...
 - codevs1792 分解质因数
		
题目描述 Description 编写一个把整数N分解为质因数乘积的程序. 输入描述 Input Description 输入一个整数 N 输出描述 Output Description 输出 分解质 ...
 - codevs 1792 分解质因数
		
1792 分解质因数 题目描述 Description 编写一个把整数N分解为质因数乘积的程序. 输入描述 Input Description 输入一个整数 N 输出描述 Output Descr ...
 
随机推荐
- 工作采坑札记:4. Hadoop获取InputSplit文件信息
			
1. 场景 基于客户的数据处理需求,客户分发诸多小数据文件,文件每行代表一条记录信息,且每个文件以"类型_yyyyMMdd_批次号"命名.由于同一条记录可能存在于多个文件中,且处于 ...
 - C++程序设计基础(2)变量
			
注:读<程序员面试笔记>笔记总结 1.知识点 (1)C++变量命名只能包含字母.数字.下划线,其中开头不能是数字:大小写敏感:习惯上变量用小写字母,常量.宏定义用大写字母. (2)变量的作 ...
 - 引用SQLHelper类configurationmanager 不存在
			
在使用Sqlhelper类时,出现cs0103错误 当前上下文中不存在名称configurationmanager 解决方案,除了using引用using System.Configuration外, ...
 - node.js mysql 使用总结
			
npm install mysql 使用mysql连接池 let mysql = require('mysql'); let db_config = { "connectionLimit&q ...
 - CSP学习之CryptoAPI初识
			
Crypto API目的就是提供开发者在windows下使用PKI的编程接口. Crypto 提供了很多的加解密相关函数,如编码.解码.加密解密,哈希,数字证书.证书管理证书存储等. 有关 ...
 - Python爬虫《爬取get请求的页面数据》
			
一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...
 - yeoman-bower-grunt之间的关系
			
npm install -g yo 前置技能 Node and NPM nodeJs就是基于谷歌v8引擎的一个javascript环境,使js不仅可以运行在浏览器端,也能在服务器端运行. NPM(No ...
 - Java入门到精通——调错篇之Spring2.5利用aspect实现AOP时报错: error at ::0 can't find referenced pointcut  XXX
			
一.问题描述及原因. 利用Aspect注解实现AOP的时候出现了error at ::0 can't find referenced pointcut XXX.一看我以为注解写错了,结果通过查询相关资 ...
 - Elipse plugin or Bundle & OSGI
			
Develop and register service, lookup and use service! Android Design on service's publish-find-bind ...
 - wxpython wx.windows的API
			
wx.Window is the base class for all windows and represents any visible object on screen. All control ...