第一阶段的C#学习已经结束了,接下来就是一大堆的练习题,慢慢做吧。
1,将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
static void Main(string[] args)
{
Console.WriteLine("请输入正整数:");
int num = Convert.ToInt32( Console.ReadLine());
Console.Write("{0}=",num);
int num1 = num;
for (int i = 2; i < num1; i++)
{
while (i <= num) //除数肯定是小于等于被除数的
{
if (i == num)
{
Console.Write("{0}", i);
break;
}
if (num % i == 0)
{
num = num / i;
Console.Write("{0}*",i);
}
else
{
break; //如果当前i不是它的素因子,就判断i+1是不是它的素因子
}
}
}
Console.ReadKey();
}
这又是一段非常奇妙的代码,我这麻瓜脑袋就是想不出来,一个for和一个while搭配,就完成了这样的一个功能。
首先for循环是找出数字的因子i,从2开始一个一个找,找到2,判断2是不是它的因子,如果不是就往下3,5,7…依次找;如果2是因子,则得出商,商用while循环再判断2是不是商的因子,如果是,再判断2是不是商的因子,直到把所有的2找出来才判断3有一个,然后5有几个,7有几个……
利用while循环巧妙地找出相同因子的个数。当因子和商相同时,那么这就是最后一个因子了。
2.输入两个正整数m和n,求其最大公约数和最小公倍数。
Console.WriteLine(