zoukankan      html  css  js  c++  java
  • project euler-34

    145是个奇怪的数字。由于1!+ 4! + 5! = 1 + 24 + 120 = 145。

    请求出能表示成其每位数的阶乘的和的全部数的和。

    请注意:由于1! = 1和2! = 2不是和,故它们并不包含在内。

    ---------------------------------------------------

    原来0的阶乘是1。。。。我弱智了。。。

    粗略的运算一下数据范围。发现不会超过1000W。

    于是,暴力吧。

    (事实上结果仅仅有两个数符合规律。

    。。)

    #include<stdio.h>
    #include<algorithm>
    #include<iostream>
    #include<stdlib.h>
    #include<vector>
    #include<queue>
    #include<string.h>
    #include<math.h>
    using namespace std;
    int fat[10];
    void init()
    {
        fat[0]=1;
        fat[1]=1;
        for(int i=2;i<=9;i++)
        {
            fat[i]=fat[i-1]*i;
        }
    }
    int cal(int x)
    {
        int ans=0;
        while(x)
        {
            ans=ans+fat[x%10];
            x=x/10;
        }
        return ans;
    }
    int main()
    {
        init();
        int sum=0;
        for(int i=10;i<=100000000;i++)
        {
            if(i==cal(i))
            {
                sum+=i;
            }
        }
        cout<<sum<<endl;
        return 0;
    }
    
    
    
    


查看全文
  • 相关阅读:
    【win10】浏览器Chrome 和edge 体验对比与使用心得
    【Java】 VM 环境配置过程要点( win10,64位)
    office2013 激活方法
    产品激活 比如Windows激活 , office激活 等激活的原理是什么? KMS等激活工具安全吗?
    回顾外滩踩踏事件,吸取的教训
    【win7】Ubuntu安装使用中的一些注意事项
    黑屏
    mock测试(一)
    Django模型类(一)
    获取本机局域网ip和出口ip
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10905266.html
  • Copyright © 2011-2022 走看看