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;
    }
    
    
    
    


查看全文
  • 相关阅读:
    项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦)
    Git 更安全的强制推送,--force-with-lease
    WPF/UWP 的 Grid 布局竟然有 Bug,还不止一个!了解 Grid 中那些未定义的布局规则
    冷算法:自动生成代码标识符(类名、方法名、变量名)
    自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference
    如何快速编写和调试 Emit 生成 IL 的代码
    使用 Emit 生成 IL 代码
    UWP 流畅设计中的光照效果(容易的 RevealBorderBrush 和不那么容易的 RevealBackgroundBrush)
    使用 GitVersion 在编译或持续构建时自动使用语义版本号(Semantic Versioning)
    语义版本号(Semantic Versioning)
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10905266.html
  • Copyright © 2011-2022 走看看