ZZULIOJ 1096: 水仙花数(函数专题)
水仙花數(shù)(函數(shù)專題)
題目描述
春天是鮮花的季節(jié),水仙花就是其中最迷人的代表,數(shù)學(xué)上有個(gè)水仙花數(shù),他是這樣定義的:
“水仙花數(shù)”是指一個(gè)三位數(shù),它的各位數(shù)字的立方和等于其本身,比如:153=13+53+33。
現(xiàn)在要求輸出所有在m和n范圍內(nèi)的水仙花數(shù)。
要求程序定義一個(gè)narcissus()函數(shù)和一個(gè)main()函數(shù),narcissus()函數(shù)判斷一個(gè)整數(shù)n是否為水鮮花數(shù),其余功能在main()函數(shù)中實(shí)現(xiàn)。
int narcissus(int n)
{
//判斷n是否為水仙花數(shù), 若是函數(shù)返回1,否則返回0
}
對(duì)于C/C++代碼的提交,本題要求必須通過定義narcissus函數(shù)和main函數(shù)實(shí)現(xiàn),否則,提交編譯錯(cuò)誤,要提交完整的程序。
輸入
輸入數(shù)據(jù)有多組,每組占一行,包括兩個(gè)整數(shù)m和n(100<=m<=n<=999)。
輸出
對(duì)于每個(gè)測(cè)試實(shí)例,要求輸出所有在給定范圍內(nèi)的水仙花數(shù),就是說,輸出的水仙花數(shù)必須大于等于m,并且小于等于n,如果有多個(gè),則要求從小到大排列在一行內(nèi)輸出,之間用一個(gè)空格隔開;
如果給定的范圍內(nèi)不存在水仙花數(shù),則輸出no;
每個(gè)測(cè)試實(shí)例的輸出占一行。
樣例輸入 Copy
100 120
300 380
樣例輸出 Copy
no
370 371
提示
在不知道m(xù)到n之間有多少個(gè)水仙花數(shù)的情況下,如何控制兩個(gè)數(shù)之間有空格,而最后一個(gè)水仙花數(shù)之后沒有空格?解決方法之一是:第一個(gè)水仙花數(shù)之前不加空格,而其后每個(gè)水仙花數(shù)之前加空格。而通過一個(gè)標(biāo)識(shí)變量可以判斷出是否是第一個(gè)水仙花數(shù)。
初做多實(shí)例測(cè)試,要注意變量賦初值的位置。
#include<stdio.h> int narcissus(int n) {int a,b,c;a=n/100;b=n/10%10;c=n%10;if(n==a*a*a+b*b*b+c*c*c)return 1;elsereturn 0; } int main() {int m,n,i,x,y;while(scanf("%d%d",&m,&n)!=EOF){x=1;for(i=m;i<=n;i++){if(narcissus(i)==1){if(x==1){printf("%d",i);x=0;}elseprintf(" %d",i);}}if(x==1){printf("no");}printf("\n");}return 0; }
總結(jié)
以上是生活随笔為你收集整理的ZZULIOJ 1096: 水仙花数(函数专题)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python图像分类_用于实现用pyth
- 下一篇: OJ1041: 数列求和2(高阶递推)