求0~100000的所有水仙花數——思路分析+原始碼
思路:
此題的關鍵在於只要知道判斷一個資料是否為水仙花數的方式,問題就迎刃而解。假定給定一個資料data,具體檢測方式如下:
1. 求取data是幾位數
2. 獲取data中每個位置上的資料,並對其進行立方求和
3. 對data中每個位上的資料立方求和完成後,在檢測其結果是否與data相等即可,
相等:則為水仙花數
否則:不是
具體實現參考以下程式碼。
int main()
{
int i = 0;
for(i=0; i<=99999; i++)
{
int count = 1;
int tmp = i;
int sum = 0;
//判斷i是否為水仙花數
//1. 求判斷數字的位數
while(tmp/10)
{
count++;
tmp = tmp/10;
}
//2. 計算每一位的次方和
tmp = i;
while(tmp)
{
sum += pow(tmp%10, count);
tmp = tmp/10;
}
//3. 判斷
if(sum == i)
printf("%d ", i);
}
return 0;
}
相關文章
- 【Python】Python方法求水仙花數原碼例項Python
- Python怎麼輸出所有的水仙花數?Python
- Laravel 請求類原始碼分析Laravel原始碼
- Okhttp同步請求原始碼分析HTTP原始碼
- 原始碼分析Retrofit請求流程原始碼
- OkHttp 原始碼分析(一)—— 請求流程HTTP原始碼
- 原始碼分析Gateway請求轉發原始碼Gateway
- SpringMVC請求流程原始碼分析SpringMVC原始碼
- axios原始碼分析——取消請求iOS原始碼
- axios原始碼分析——請求流程iOS原始碼
- c3p0原始碼分析原始碼
- Rxjava原始碼思路分析與程式設計師的思考RxJava原始碼程式設計師
- Django(48)drf請求模組原始碼分析Django原始碼
- 求陣列內所有偶數的和陣列
- 深入OKHttp原始碼分析(一)----同步和非同步請求流程和原始碼分析HTTP原始碼非同步
- 水仙花數_JAVAJava
- java水仙花數Java
- ThinkPHP6 原始碼分析之請求流程PHP原始碼
- 碎片化學習Java(十九)Java for迴圈輸出所有水仙花數Java
- 閱讀mybatis的原始碼的思路MyBatis原始碼
- ThinkPHP6 原始碼分析之請求處理PHP原始碼
- 【Zookeeper】原始碼分析之請求處理鏈(一)原始碼
- 求陣列中k個數的所有組合陣列
- 資料庫:水仙花數資料庫
- Java實現水仙花數Java
- JAVA——水仙花數問題Java
- tomcat原始碼分析(第三篇 tomcat請求原理解析--Connector原始碼分析)Tomcat原始碼
- SpringMVC原始碼分析:POST請求中的檔案處理SpringMVC原始碼
- DRF之請求執行流程和APIView原始碼分析APIView原始碼
- Kafka原始碼分析(四) - Server端-請求處理框架Kafka原始碼Server框架
- python基礎練習題(按條件對指定序列求和,列印99乘法表、求斐波那契數列、百馬百擔、求水仙花數、求n以內的所有質數(素數)和)、集合的講解、一些公關方法Python
- GET請求引數為中文時亂碼分析
- Retrofit原始碼分析三 原始碼分析原始碼
- OkHttpClient原始碼分析(一)—— 同步、非同步請求分析和Dispatcher的任務排程HTTPclient原始碼非同步
- 數字貨幣錢包系統組成架構及開發原始碼編寫思路分析架構原始碼
- Picasso原始碼分析(六):BitmapHunter與請求結果的處理原始碼
- 求一個數的最大公約數的三種思路——解題筆記筆記
- python學習----水仙花數Python