zoukankan      html  css  js  c++  java
  • 欧拉计划003

    003.13195的质数因子有5,7,13和29.

    600851475143的最大质数因子是多少?

    ————————————————————————————————————————

    求正整数的质数因子在一些c经典100例中见过,便套用了这样的解题思路:

    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果n<k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,
    重复执行第一步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

    代码如下:

    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main (void)
    {
        _int64 a=600851475143;
        int i;
        
        for(i=2;i<=a;i++)
        {
            while(a!=i)
                if(!(a%i))  
                {
                    printf("%d\t",i);
                    a=a/i;
                }
                else break;
        }
        printf("%d\n",a);
        
        printf("max=%d\n",a);
        return 0;
    }

    输出结果:

                  

         在编程中,发现给的数值超过了一般int、long等整数型的数值范围,然后谷歌了篇博文(来自http://www.byvoid.com/blog/c-int64)发现_int64这样的用法,感谢乐于分享知识的网友。

        还有,算法对于我这样脑袋不灵光的孩子来说,太重要了。努力积累吧!

  • 相关阅读:
    第七讲 宋词:婉约之曲与豪放之声
    P2024 食物链
    可以吹一年的事
    信息传递
    11.11模拟赛总结(又名斗地主战记)
    11.9模拟赛总结
    扩展欧几里得(exgcd模板)
    发糖果(拓扑排序模板)
    高斯消元
    关于我
  • 原文地址:https://www.cnblogs.com/hhccdf/p/2963975.html
Copyright © 2011-2022 走看看