本帖最后由 zhl406893081 于 2014-3-18 11:15 编辑
- <DIV class=blockcode>
- <BLOCKQUOTE>namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- int number = Convert.ToInt32(Console.ReadLine());
- bool flag = true;
- if(number<2)
- Console.WriteLine("你输入的数字小于2");
- else if(质数(number))
- Console.WriteLine("你输入了一个质数,他的小质数因子是他本身");
- else if (number % 2 == 0)
- Console.WriteLine("你输入了一个偶数,他的最小质数因子为2");
- else
- {
- //质数中除了2没有其他偶数
- for (int i = 3; i < number; i+=2)
- {
- if (flag==质数(i)&&number%i==0)
- {
- Console.WriteLine("你输入的数字是{0},他的最小质数因子为{1}",number,i);
- break;
- }
- }
- }
- Console.ReadKey();
- }
- //判断n是否是质数
- static bool 质数(int n)
- {
- //是否是质数的标志
- bool flag = true;
- //对n开根号
- int s = (int)Math.Sqrt(n);
- //n除以每个比n开根号小比1大的自然数
- for (int i = 2; i <= s; i++)
- {
- //如果有能被整除的,则不是质数
- if (n % i == 0)
- {
- flag = false;
- return flag;
- }
- }
- return flag;
- }
- }
- }
复制代码
|