分解质因数

匿名 (未验证) 提交于 2019-12-03 00:40:02

对于一个将要分解的数,我们从小到大枚举它可能被分解出来的每一个因子,从小到大枚举,这样就可以保证在分解出大的因子之前,所有的小的因子全部被除完,从而保证最终所有的因子一定是质数。

虽然分解质因数本身没有进行质数判断,但是还是求出了质因数。。哈哈

while(n!=1)         {             for(int i=2;i<=n;i++)             {                 if(n%i==0)                 {                     n/=i;                     printf("%d",i);                     if(n!=1)printf("*");                         break;                 }             }         }

通过代码可以看到,我们每分解出来一个因子之后,还是从最小的2继续枚举,从而保证分解的顺利进行,2被一个一个剔出来,全部剔完了之后就该剔3了。

完整的代码如下,T组数据每组数据一个n,对n进行分解质因数。

 1 #include <cstdio>  2 #include<iostream>  3 using namespace std;  4 int n;  5 int T;  6 int main()  7 {  8     cin>>T;  9     while(T--) 10     { 11         scanf("%d",&n); 12         //printf("%d=",n); 13         while(n!=1) 14         { 15             for(int i=2;i<=n;i++) 16             { 17                 if(n%i==0) 18                 { 19                     n/=i; 20                     printf("%d",i); 21                     if(n!=1)printf("*"); 22                         break; 23                 } 24             } 25         } 26         cout<<endl; 27     } 28     return 0; 29 }

原文:https://www.cnblogs.com/aininot260/p/9270842.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!