题解 | #完全数计算#
完全数计算
http://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
这才是简单题该有的样子好吗!!表达式求值是什么东西!!!(菜狗言论)
/*HJ56完全数计算 完全数(Perfect number),又称完美数或完备数, 它所有的真因子(即除了自身以外的约数)的和 (即因子函数),恰好等于它本身。 例如:28,它有约数1、2、4、7、14、28, 除去它本身28外,其余5个数相加,1+2+4+7+14=28。*/ #include<iostream> #include<stack> using namespace std; int main() { int n; int num=0; int t=0; stack<int> a; cin>>n; while(n) { num=0; for(int i=1;i<(n);i++) { if(n%i==0) a.push(i); } while(!a.empty()) { num+=a.top(); a.pop(); } if(num==n) { t++; // cout<<n<<" "; } n--; } cout<<t; }