zoukankan      html  css  js  c++  java
  • 质因数分解

    Pollard Rho快速因数分解。时间复杂度为O(n^(1/4))。

    将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
    程序分析:对 n 进行分解质因数,应先找到一个最小的质数 i,然后按下述步骤完成: 
    (1)如果这个质数 i 恰等于 n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果n != i,但n能被 i 整除,则应打印出 i 的值,并用 n 除以 i 的商,作为新的正整数你n,
     重复执行第一步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
    分解质因数代码:
     1 #include <bits/stdc++.h>
     2 main()
     3 {
     4   int n,i;
     5   printf("
    please input a number:
    ");
     6   scanf("%d",&n);
     7   printf("%d=",n);
     8   for(i=2;i<=n;i++)
     9     while(n!=i)
    10     {
    11       if(n%i==0)
    12       {
    13         printf("%d*",i);
    14         n=n/i;
    15       }
    16       else
    17         break;
    18     }
    19     printf("%d",n);
    20 }
  • 相关阅读:
    java微信扫码支付(模式二)
    Python学习08
    学习java第12天
    学习java第11天
    学习java第十天
    学习Java第九天
    学习Java第八天
    学习Java第六天
    学习Java第六天
    学习Java第五天
  • 原文地址:https://www.cnblogs.com/Fresh--air/p/8018918.html
Copyright © 2011-2022 走看看