【2097 Sky数】
1656 ワード
Sky数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10738 Accepted Submission(s): 6260
Problem Description
Skyは小さい頃から奇抜なものが好きで、しかも生まれつき数字に敏感で、偶然の機会に、彼は1つの面白い4桁の2992を発見して、この数、その10進数は表して、その4桁の数字の和は2+9+9+2=22で、その16進数BB 0、その4桁の数字の和も22で、同時にその12進数は1894を表して、その4桁の数字の和も22で、ああ、偶然ですね.Skyはこの4桁が大好きで、彼の発見のため、ここではSky数と命名しました.しかし、このような数を判断するのはちょっと面倒ですね.では、今、10進数の4桁を判断してください.Sky数ではありませんか.
Input
入力には4桁の正の整数が含まれ、0の場合は入力が終了します.
Output
nがSky数であれば「#n is a Sky Number.」を出力し、そうでなければ「#n is not a Sky Number.」を出力する.各結果は1行を占めます.注意:#nは、読み込まれたn値を表します.
Sample Input
Sample Output
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10738 Accepted Submission(s): 6260
Problem Description
Skyは小さい頃から奇抜なものが好きで、しかも生まれつき数字に敏感で、偶然の機会に、彼は1つの面白い4桁の2992を発見して、この数、その10進数は表して、その4桁の数字の和は2+9+9+2=22で、その16進数BB 0、その4桁の数字の和も22で、同時にその12進数は1894を表して、その4桁の数字の和も22で、ああ、偶然ですね.Skyはこの4桁が大好きで、彼の発見のため、ここではSky数と命名しました.しかし、このような数を判断するのはちょっと面倒ですね.では、今、10進数の4桁を判断してください.Sky数ではありませんか.
Input
入力には4桁の正の整数が含まれ、0の場合は入力が終了します.
Output
nがSky数であれば「#n is a Sky Number.」を出力し、そうでなければ「#n is not a Sky Number.」を出力する.各結果は1行を占めます.注意:#nは、読み込まれたn値を表します.
Sample Input
2992
1234
0
Sample Output
2992 is a Sky Number.
1234 is not a Sky Number.
#include<iostream>
using namespace std;
int fun(int n,int k){
int m,sum=0;
while(n){
m=n%k;
n/=k;
sum+=m;
}
return sum;
}
int main(){
int n;
while(cin>>n && n!=0){
int sum1,sum2,sum3;
sum1=fun(n,10);
sum2=fun(n,16);
sum3=fun(n,12);
if(sum1==sum2 && sum2==sum3)
cout<<n<<" is a Sky Number."<<endl;
else
cout<<n<<" is not a Sky Number."<<endl;
}
}