判断给定正整数是不是“水仙花数”。“水仙花数”是指一个三位数,其各位数字的立方和等于该数,例如153=1^3+5^3+3^3。
输入说明:有多组数据,每组数据为一个正整数n(0<n<65536,占一行),为0时表示输入结束。
输出说明:对于每一组数据,输出一个yes或no(表示该数是否为“水仙花数”)。
输入样本:
153
111
370
422
0
输出样本:
yes
no
yes
no
#include <iostream> #include <vector> #include <string> using namespace std; int main() { vector<string> s; int n; int a,b,c; cin>>n; while(n) { a=n%10; b=(n/10)%10; c=(n/100)%10; if(n==a*a*a+b*b*b+c*c*c) s.push_back("yes"); else s.push_back("no"); cin>>n; } for(int k=0;k<s.size();k++) cout<<s[k]<<endl; return 0; }
时间: 2024-10-19 19:36:49