将一个正整数分解质因数,如输入90 打印出90=2*3*3*5,分解质因数c++语言
将一个正整数分解成质因数。例如,输入90,打印出90=233*5。
1.程序分析:用短除法求解。
把n分解成质因数,首先要找到一个最小的质数I,然后按照以下步骤完成:
(1)如果这个素数刚好等于N,说明分解素数因子的过程已经结束,N本身就是一个素数。只需打印出n。
(2)如果n!=i,但如果N能被I整除,你就要把I的值打印出来,把N除以I的商作为新的正整数N,重复第一步。
(3)如果n不能被I整除,用i 1作为I的值,重复第一步。
2.加载代码:
#include stdio.h
主()
{
int n,I;
printf( \ n输入一个数字:\ n );
scanf(%d ,n);
printf(%d=,n);//按原样输出
for(I=2;I=n;我)
而(n!=i)
{
如果(n%i==0)
{
printf(%d* ,I);//按原样输出
n=n/I;//根据短除法,用商作为新的n,也就是被除数。然后重复循环判断操作。
}
Else//等价于if(n%i!=0),言简意赅,用哪个。
打破;
}
printf(%d ,n);//按原样输出
}
对于博客作者代码撰写的原创作品,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。