循環-11. 水仙花數*


 1 /*
 2  * Main.c
 3  * C11-循環-11. 水仙花數
 4  *  Created on: 2014年7月30日
 5  *      Author: Boomkeeper
 6  ******部分通過********
 7  */
 8 
 9 #include <stdio.h>
10 #include <math.h>
11 
12 int N;//同題目中的N
13 
14 void isNarcissus(int i){
15     unsigned int sum=0;
16     int tem=i;
17     //將i各位拆分並計算其N次冪之和
18     do{
19         sum+=pow(i%10,N);
20         i=i/10;
21     }while(i!=0);
22     //如果該N位數各位的N次冪之和等於該數本身,則為水仙花數
23     if(sum==tem)
24         printf("%d\n",tem);
25 }
26 
27 
28 int main(void){
29 
30     scanf("%i",&N);
31 
32     int i;
33     for(i=pow(10,N-1);i<pow(10,N);i++)
34         isNarcissus(i);
35 
36     return 0;
37 }

又沒能完全通過...桑心了...

經檢查,輸入6或者7的時候,返回結果很慢,我會優化算法,回頭補上!

 

題目鏈接:

http://pat.zju.edu.cn/contests/basic-programming/%E5%BE%AA%E7%8E%AF-11


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM