水仙花數用for巢狀(三層)實現,實際上只有首位!=0,程式設計時忽略此處,將i,j,k三個迴圈計數器的範圍均設定為1-9,
導致輸出少兩個數字:370,407。
另外常規思想應設定三位數i=100,i<1000,i++進行迴圈,再利用/取百位,十位,%10取個位(當然也可以用剛取的百位十
位來算,但相對麻煩)。這樣只有乙個for迴圈控制,應該是比巢狀結構要省記憶體的(沒有得到確定)。
**比例分割注意的點很多:首先是一些控制結構語句的正確使用,比如if,for,continue,另外就是注意資料型別的轉換
,float,
int。還有區域性變數的特點,比如說for迴圈定義的int x,int y,迴圈結束會在記憶體空間釋放,所以在外部直接輸出會報
錯(解決方法:在迴圈外定義變數 i,j用以接收符合條件的x,y本身的數值)。
簡化if語句可以使用三元運算子,格式為:(條件表示式)?表示式1:表示式2;需要注意的是這個格式一般不會寫錯,運
算輸出的是乙個值,所以要定義乙個變數去接收這個值。否則編譯器會報錯。
例如:value=((float)x/y>0.618)?(float)x/y-0.618:0.618-(float)x/y;
//我寫的是
((float)x/y>0.618)?(float)x/y-0.618:0.618-(float)x/y;
另外思路一定要清晰,不然就會東一句西一句各種報錯(*/ω\*)。
水仙花數與素數
1,水仙花數 是指乙個三位數,它的各位數字的立方和等於其本身,比如 153 13 53 3 3。輸出所有在m和n範圍內的水仙花數。輸入 資料有多組,每組佔一行,包括兩個整數m和n 100 m n 999 輸出 對於每個測試例項,要求輸出所有在給定範圍內的水仙花數,就是說,輸出的水仙花數必須大於等於m...
求水仙花 ghpython 水仙花數02
今天咱們繼續來看看老潘微博裡的乙個python小案例,求水仙花數,這個小案例在前兩天已經分享了,今天分享另一種方法,常言道只要思想不滑坡,方法總比困難多,而且今天的方法個人覺得更pythonic一點。水仙花數 四葉玫瑰數 五角星數 由於2位數的自冪數不存在,這裡直接從100遍歷到100000 for...
水仙花數題解
水仙花數 3位數,其各位數字立方和為該數本身.include stdio.h void main int i,j,k,n 定義n的個位數為k,十位為j,百位為i printf narcissus numbers are for n 100 n 1000 n 使n從100 999迴圈 i n 100 ...