如果一個三位數的沒個數位的數字三次方之和等于改數本身,我們稱這種數字為水仙花數。
輸入:n m(n和m為三位整數)
輸出:n和m之間的水仙花數
#include <stdio.h>#include <stdlib.h>int check(int n);int main(int argc, char *argv[]) { int n,m; PRintf("請輸入兩個三位數并用空格隔開:/n"); scanf("%d %d",&n,&m); //判斷輸入的數字是否合法 if((n>=100 && n<=999) || (m>=100 && m<=999)){ //比較大小,小的為n,大的為m if(n>m){ n=n^m; m=n^m; n=n^m; } //從n到m循環,判斷是否為水仙花數,若是,則輸出 int i,flag=0; for(i=n;i<=m;i++){ if(flag==0){ flag = check(i); }else{ check(i); } } if(flag==0){ printf("no/n"); } }else{ printf("輸入不合法。/n"); } return 0;}int check(int n){ int j,k,l; j=n%10; k=n/10%10; l=n/100; if(n == j*j*j+k*k*k+l*l*l){ printf("%d/n",n); return 1; }else{ return 0; }}
新聞熱點
疑難解答