• 欧拉计划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这样的用法,感谢乐于分享知识的网友。

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

  • 相关阅读:
    OpenJ_Bailian
    Codeforces Global Round 2: D.Frets On Fire
    Gym 102035 NWU2019组队赛2.0
    Gym 102035H :Zuhair and the Dag
    Gym 102035E:New Max
    Gym
    Linux常用命令-总结
    Linux常用命令
    Linux常用命令
    分布式会话 拦截器 单点登录
  • 原文地址:https://www.cnblogs.com/hhccdf/p/2963975.html
Copyright © 2020-2023  润新知