Factoring Large Numbers

来源:互联网 发布:怎么在淘宝买岛国资源 编辑:程序博客网 时间:2024/05/16 11:23

/*一个数必定可以分解成一些素因子的乘积。从2开始,没扫面到一个能被n整除的数。就进行n/=i,否则,i++,如果遇到i*i>n,则此时的n必是最后一个素因子。输出。结束。*/#include <stdio.h>int main(){    long long n;    while(scanf("%lld",&n)==1)    {        if(n==-1) break;        long long i=2;        while(1)        {            if(n%i==0) printf("%lld\n",i),n/=i;            else            {                i++;                if(i*i>n)                {                    printf("%lld\n",n);                    break;                }            }        }        printf("\n");    }    return 0;}


原创粉丝点击