Problem 23 Non-abundant sums (盈数)
来源:互联网 发布:极限编程实践 编辑:程序博客网 时间:2024/05/22 13:42
Non-abundant sums
Problem 23
A perfect number is a number for which the sum of its proper divisors is exactly equal to the number. For example, the sum of the proper divisors of 28 would be 1 + 2 + 4 + 7 + 14 = 28, which means that 28 is a perfect number.
A number n is called deficient if the sum of its proper divisors is less than n and it is called abundant if this sum exceeds n.
As 12 is the smallest abundant number, 1 + 2 + 3 + 4 + 6 = 16, the smallest number that can be written as the sum of two abundant numbers is 24. By mathematical analysis, it can be shown that all integers greater than 28123 can be written as the sum of two abundant numbers. However, this upper limit cannot be reduced any further by analysis even though it is known that the greatest number that cannot be expressed as the sum of two abundant numbers is less than this limit.
Find the sum of all the positive integers which cannot be written as the sum of two abundant numbers.
代码:
#include <iostream>#include <vector>#include <algorithm>#include <string>#include <fstream>#include <cctype>using namespace std;bool isabundant (int n){long long sum=1;int k=n;for(int i=2;i<=k;i++){int p=1;while(k%i==0){p*=i;k/=i;}sum*=(p*i-1)/(i-1);}return sum-n>n;}vector<int>abundant;int main(){int flag[28123]={0}; int ans=0;for(int i=1;i<=28123;i++){if(isabundant(i))//abundant数 {abundant.push_back(i);}}for(int i=0;i<abundant.size();i++)for(int j=i;j<abundant.size();j++){if(abundant[i]+abundant[j]<28123){flag[abundant[i]+abundant[j]]=1;}else break;}for(int i=0;i<28123;i++){if(flag[i]==0)ans+=i;}cout<<ans<<endl;return 0;}
- Problem 23 Non-abundant sums (盈数)
- projecteuler---->problem=23----Non-abundant sums
- Project Euler:Problem 23 Non-abundant sums
- PE 23 Non-abundant sums
- 23 Non-abundant sums - Project Euler
- project euler 23 Non-abundant sums
- Euler: Non-abundant sums
- Non-abundant sums
- Non-abundant sums
- 欧拉工程第23题:Non-abundant sums
- 欧拉项目 第23题 Non-abundant sums
- I00036 盈数(Abundant number)
- No_23Non-abundant sums
- Non--Abundant numbers
- Non-negative Partial Sums
- POJ-4040(单调队列)(Non-negative Partial Sums )
- HDU 4193 Non-negative Partial Sums(单调队列)
- HDU Non-negative Partial Sums (单调队列)
- Spring Boot 实现HBase交互注意事项
- Tengine(Nginx)
- 未能加载文件或程序集“System.Data.SQLite.DLL”或它的某一个依赖项
- 静态代理;动态代理;CGLIB
- Web前端项目实战——使用RequireJS开发简易绘图程序
- Problem 23 Non-abundant sums (盈数)
- 使用xUtils下载和上传文件
- depot_tools更新失败
- Fragment之我的解决方案:Fragmentation
- Java 自动装箱,拆箱
- Lock
- [心得]http服务不通的解决之道
- Java 脚本支持
- 推荐5款超实用的.NET性能分析工具