如何运营网站,重庆专业网站搭建公司,上海网站建设小程序开发,广告软文代理平台假设一个不小于2的整数n#xff0c;对从2开始的自然数k#xff0c;这个试探它是否是整数n的一个因子#xff0c;如果是#xff0c;则输出该因子#xff0c;并将n/k的结果赋给n#xff08;接下来只需要对n除以已经找到的因子之后的结果继续找因子#xff09;。如果n的值不… 假设一个不小于2的整数n对从2开始的自然数k这个试探它是否是整数n的一个因子如果是则输出该因子并将n/k的结果赋给n接下来只需要对n除以已经找到的因子之后的结果继续找因子。如果n的值不是大于1即n的值为1,则n的所有因子都找完了因此需要结束循环。
注意并不是找到了k是一个因子之后k就立刻1因为可能分解后的n中k仍然是n的因子因此需要使用到 if(n%k0) else k;
选取90进行计算就知道了90%20,n90/245,所以k就是一个质因子接下来继续45%20因此k3,45%30n45/315所以k3就是一个质因子接下来15%30n15/35所以3仍然还能是他的一个质因子接下来5%30,5%40,5%50n5/51这时是最后一个因子因此要与之前的不同这里在else语句中输出的是最后一个k进行换行后要使用break语句跳出整个循环。这样就结束分解了。
#includestdio.h
int main()
{//将一个不小于2的整数分解质因数。例如输入90则输出902*3*3*5 int n,k2;printf(请输入一个不小于2的整数);scanf(%d,n);printf(质因子分解的结果为%d,n);while(1){if(n%k0){n/k;if(n1)printf(%d*,k);else{printf(%d\n,k);break;}}else k;}return 0;
}