AOJ.502 不只是水仙花
不只是水仙花
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MB
Total Submission: 1196 Submission Accepted: 347
Description
C語言里有個很著名的問題叫做水仙花數(shù)。水仙花數(shù)是一個三位數(shù),它的各位數(shù)字的立方相加后等于該數(shù)字。多么美麗的數(shù)字??!
可是Large發(fā)現(xiàn)這個世界上不僅僅有水仙花,正如整數(shù)不僅僅只有三位數(shù)一樣。
Large經(jīng)過仔細研究,發(fā)現(xiàn)有很多花比水仙花數(shù)更優(yōu)美,我們現(xiàn)在做出如下定義:
班花數(shù):它是一個四位數(shù),各位數(shù)字的四次方相加后等于該數(shù)。
級花數(shù):它是一個五位數(shù),各位數(shù)字的五次方相加后等于該數(shù)。
?;〝?shù):它是一個六位數(shù),各位數(shù)字的六次方相加后等于該數(shù)。
我們的任務(wù)就是,對于輸入的一個整數(shù),判斷它是上述數(shù)的哪一種。
Input
包含多組數(shù)據(jù),第K組數(shù)據(jù)格式如下:
第K行:每行包括一個正整數(shù)N(100
Output
每組數(shù)據(jù)輸出一行,第K組數(shù)據(jù)格式如下:
第K行:每行包括一個單詞或詞組,由對應(yīng)的輸入數(shù)字確定,其內(nèi)容如下
如果該數(shù)是水仙花數(shù),輸出Daffodil
如果該數(shù)是班花數(shù),輸出Class Flower
如果該數(shù)是級花數(shù),輸出Grade Flower
如果該數(shù)是?;〝?shù),輸出OH~
如果該數(shù)不滿足任何一個定義,輸出一個Nothing
Sample Input
153
12345
Sample Output
Daffodil
Nothing
題意分析
給出一個數(shù)字(數(shù)字的位數(shù)介于3到6),判斷這個數(shù)字每個數(shù)位的位數(shù)次方之和是否等于這個數(shù)字。是的話按題目要求輸出相應(yīng)字符串,否則就輸出Nothing。
整體思路很簡單,先算一下這個數(shù)字是幾位數(shù),然后按照他的要求求各數(shù)位的和,判斷即可。
代碼總覽
/*
Title:AOJ.502
Author:pengwill
Date:2016-11-14
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int get(int n,int t)
{
//int ret = 0;
int temp = n;
t--;
while(t--){
n = n*temp;
}
//printf("%d
",n);
return n;
}
int main()
{
int n,a,b;
while(scanf("%d",&n) != EOF){
int cnt = 0,cnt1;
int ret = 0;
b= n;
while(b){
a = b % 10;
b = b / 10;
cnt++;
}
b= n;cnt1 = cnt;
while(cnt1--){
a = b % 10;
b = b / 10;
ret+=get(a,cnt);
}
if(ret == n){
if(cnt == 3){
printf("Daffodil
");
}else if(cnt == 4){
printf("Class Flower
");
}else if(cnt == 5){
printf("Grade Flower
");
}else if(cnt == 6){
printf("OH~
");
}
}else{
printf("Nothing
");
}
//printf("%d
",cnt);
}
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的AOJ.502 不只是水仙花的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何设计数据库表实现完整的RBAC(基于
- 下一篇: 2023-02-15 | 苹果 iOS