C語言 求出100~999之間的所有“水仙花數”並輸出
“水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。在數論中,水仙花數(Narcissistic number)也稱為自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong number),是指一N位數,其各個數之N次方和等於該數。
例如153、370、371及407就是三位數的水仙花數,其各個數之立方和等於該數:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。
程式碼如下:
#include<stdio.h> int main() { int num,i,j,k; printf("0到999之間的所有水仙花數:"); for(num=100;num<1000;num++) { i=num/100;/*求出百位數*/ j=num/10-i*10;/*求出十位數*/ k=num-i*100-j*10;/*求出個位數*/ if(i*i*i+j*j*j+k*k*k==num) { printf("%d ",num); } } return 0; }
上述方法求出一個數的每位數較麻煩,利用for迴圈對此進行改進。
程式碼如下:
#include<stdio.h> #include<math.h> int main() { int i; double sum; printf("輸出0到999之間的所有水仙花數:\n"); for(i=100;i<1000;i++) {/*不可在迴圈體內修改迴圈變數,防止for迴圈失去控制*/ int num=i;/*引入變數num*/ for(sum=0;num!=0;num/=10) { sum+=pow(num%10,3); } if(sum==i)/*sum應與i比較,不是引入的變數num*/ { printf("%d ",i); } } return 0; }
相關推薦
C語言 求出100~999之間的所有“水仙花數”並輸出
“水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。在數論中,水仙花數(Narcissistic number)也稱為自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong number),是指一
用C語言求出0~999之間的所有“水仙花數”並輸出
執行環境: win10 vs2013 “水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。 在數論中,水仙花數(Narcissis
c語言 求出0-999之間的水仙花數並輸出
求出0~999之間的所有“水仙花數”並輸出。 “水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。 /* 在數論中,水仙花數(Narcissistic number)也稱為自戀數、自冪數、阿姆斯壯
c/c++_找出100到200之間的全部素數並輸出
/* * Copyright (c) 2011, 煙臺大學計算機學院 * All rights reserved. * 作 者:解曉東 * 完成日期:2012 年 10 月 2
c語言 3種方法 求出0~999之間的所有 水仙花數 並輸出
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
.求出0~999之間的所有“水仙花數”並輸出。
求出0~999之間的所有“水仙花數”並輸出。 “水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。 /* 在數論中,水仙花數(Narcissi #include <stdio.h> #include <stdli
求出0~999之間的所有“水仙花數”並輸出。 “水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。
程式 #include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int i = 0; for(; i <= 999; i++) { int tmp = 0;
2.求出0~999之間的所有“水仙花數”並輸出。
水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。 /* 在數論中,水仙花數(Narcissistic number)也稱為自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong num
1.求出0~999之間的所有“水仙花數”並輸出。“水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。
1.在螢幕上輸出以下圖案: * *** ***** ******* ********* *********** ************* *********** ********* ******* ***** *** * 2.求出0~
C語言找出字串中的特定的字元,並輸出
這裡我們用到了函式 strchr 這個函式返回值是一個指標 函式引數是 一個字串和一個字元。 #include <stdio.h> #include<string.h> void main() { char str[80]; char c
Python-三種方法求100-999之間的水仙花數
題目:算出100-999之間的水仙花數 水仙花數是指百位的3次方 + 十位的3次方 + 個位的三次方等於原數的整數 方法一:將數字轉換為字串,用索引獲取百位十位個位數字 for i in range(100,1000): s=str(i) if int(s[0])*
C語言求出陣列中的最大值和次大值!
#include<stdio.h> //改陣列大小隻需要修改 N後面的數字 #define N 5 int main(void){ int arr[N]={5,6,8,3,9}; int max= 0; //定義最大值並賦值 int mid= 0
poj3615 給你一個有向圖,然後對於特定的點A與B,要你求出A到B之間所有可行路徑的單段路距離最大值的最小值.
#include<cstdio> #include<algorithm> #define INF 1e9 using namespace std; const int maxn = 300+10; int n,m,t; int d[maxn][maxn]; void floy
poj3615 給你一個有向圖,然後對於特定的點A與B,要你求出A到B之間所有可行路徑的單段路距離最大值的最小值.
#include<cstdio> #include<algorithm> #define INF 1e9 using namespace std; const int maxn = 300+10; int n,m,t; int d[maxn][maxn
用java寫程式打印出100到200之間所有的素數
解決思路: 1,定義一個類,名字為TestPrimeNumber。 2,在類中定義主函式。 3,用for迴圈打印出所有在100至200之間的數字。 4,在for迴圈中,判斷每當迴圈執行一次,就判斷迴圈變數的值是否為素數,如果是,就把迴圈變數的當前值大於出來。 5,比如一個數
程式設計實現輸入n,求出1到n之間所有的質數
#include<stdio.h>#include<math.h>int main(){ int i,j,k,m,n=0; printf("請輸入你想求出可能質數的最
python練習2 計算100-999之間的水仙花數
如果一個 3 位數等於其各位數字的立方和,則稱這個數為水仙花數。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一個水仙花數,求100~999之間的水仙花數 我的答案1 #!/u
定義一個二維陣列,內容為三個學生的四門課成績,求出每個學生四門課的平均分並輸出,再求出每門課三個學生的平均分並輸出!
// 121211 作業1.cpp : 定義控制檯應用程式的入口點。 // /* * Copyright (c) 2012, 煙臺大學計算機學院 * All rights reserved. * 作 者: 劉同賓
C語言 1. switch語句的使用2.輸出菱形3..求出0~999之間的所有”水仙花數“,並輸出
浮點型和零相比? #define EXP 0.000000……1 在不同作業系統下程式碼結果可能不一樣,所以定義一個精度 switch語句的使用: int main() { int day=0; scanf("%d",&day); switch(d
【C語言】輸出100~999之間的所有“水仙花數”
“水仙花數”: “水仙花數”又稱為“阿姆斯特朗數”。如果一個n(n≥3)位數的各位數字的n次冪之和等於該數本身,則該數稱為“水仙花數”。如:153=1³+5³+3³。 問題:輸出100~999之間的所有“水仙花數”。 實現思路: 根據