题目:
将一个正整数分解质因数,例如输入90,打印出90=2*3*3*5
分析:
1.首先明白这个数学问题的过程
2.把数学过程转换为程序语言
依旧拿例子入手:
输入一个数 90
先除以 2 (因为一除完还是他本身)--结果:45
在除以 2 发现行不通了 (这时候我们就需要尝试 3 )--结果15
继续除以 3 --结果:5
除以 3 不行了 在尝试4 还是不行 继续尝试 5---结果1
----------------------------------------------------------------------------------------------------
所以 这样的思维操作过程,就是在正整数分解。
1.先输入一个数
2.要去拆分这个数--需要让计算机去判断比他小的所有数(这里的判断我们就可以用循环来实现)--是不是它的因数
3.判断完如果是因数--即输出--且让这个数除以这个因数 (然后继续循环 )遍历完所有的数
for(i=2;i<=m;i++){ //就是数学模型中的那个一个一个判断 while(m!=i){ //中层 多次循环,直到 等于他本身退出循环 if(m%i==o){ //内循环就是判断这个数是不是因数 printf("i"); m=m/i; } else break; } }
#includeint main(){ int m,i; printf("Input a number m:"); scanf("%d",&m); for (i=2;i<=m;i++) { while(m!=i){ if(m%i==0){ printf("%d*",i); m=m/i; } else break; } } printf("%dn",m); return 0; }



