提交时间:2021-05-27 22:11:01
运行 ID: 20029
#include<iostream> #include<cstdio> using namespace std; bool check(int x){ int sum=1,i; for (i=2;i*i<=x;++i) if (x%i==0)sum=sum+i+x/i; if (x==sum)return 1; else return 0; } int main() { int i,n,sum=0,tot=0; cin>>n; if (n<28)cout<<1; else{ for (i=1;;i+=2){ if (tot+i*i*i>n)break; tot+=i*i*i; if(check(tot))sum++; } cout<<sum; } return 0; }