女班长扒开内裤让我们摸视频,麻豆精产国品一二三产区区别免费,鲁一鲁一鲁一鲁一澡,久久国产精品99夜夜嗨,久久午夜无码鲁丝片秋霞

大學生新聞網,大學生新聞發(fā)布平臺
大學生新聞網
大學生新聞大學生活校園文學大學生村官
社會實踐活動社會實踐經歷社會實踐報告社會實踐總結社會實踐心得
全國排名校友會版軟科排名分類排名本科排名一本排名二本排名?婆琶學校地址
求職簡歷職場法則面試技巧職場故事求職招聘大學生就業(yè)
英語學習計算機學習電氣工程機械工程經濟管理建筑設計財務會計
申請書證明書檢討書自薦信演講稿心得體會調查報告讀后感求職信推薦信其它范文

C語言水仙花數

問題描述
輸出所有的“水仙花數”,所謂的“水仙花數”是指一個三位數其各位數字的立方和等于該數本身,例如153是“水仙花數”,因為:153 = 13 + 53 + 33。
問題分析
根據“水仙花數”的定義,判斷一個數是否為“水仙花數”,最重要的是要把給出的三位數的個位、十位、百位分別拆分,并求其立方和(設為s),若s與給出的三位數相等, 三位數為“水仙花數”,反之,則不是。
算法設計
“水仙花數”是指滿足某一條件的三位數,根據這一信息可以確定整數的取值范圍是 100〜999。對應的循環(huán)條件如下:

for(n=10; n<1000; n++)
{
    //......
}
對代碼的說明:

將n整除以100,得出n在百位上的數字hun。
將(n-i*100)整除以10(或將n先整除以10再對10求模n/10%10),得出n在十位上的數字ten。
將n對10取余,得出n在個位上的數字ind。
求得這三個數字的立方和是否與其本身相等,若相等,則該數為水仙花數。

對于每個位置上的數值將其拆分的算法有很多種,根據不同情況選擇不同算法(對于同一問題不同算法的效率有時會相差很多)。

下面是完整的代碼:


#include <stdio.h>
int main()
{
    int hun, ten, ind, n;
    printf("result is:");
    for( n=100; n<1000; n++ )  /*整數的取值范圍*/
    {
        hun = n / 100;
        ten = (n-hun*100) / 10;
        ind = n % 10;
        if(n == hun*hun*hun + ten*ten*ten + ind*ind*ind)  /*各位上的立方和是否與原數n相等*/
            printf("%d  ", n);
    }
    printf("\n");
    
    return 0;
}</stdio.h>
運行結果:
result is:153 370 371 407
    作者:大學生新聞網    來源:大學生新聞網
    發(fā)布時間:2025-03-11    閱讀:
    掃一掃 分享悅讀
  • C語言求回文數
  • 將數組中元素重新組合成一新數。拆分時變量a的最高位仍然存儲在數組中下標最大的位置
  • 03-11 關注:0
  • C語言水仙花數
  • 輸出所有的“水仙花數”,所謂的“水仙花數”是指一個三位數其各位數字的立方和等于該數本身,例如153是“水仙花數”,因為:153 = 13
  • 03-11 關注:0
  • C語言求自守數
  • 自守數是指一個數的平方的尾數等于該數自身的自然數。
  • 03-11 關注:0
  • C語言求親密數
  • C語言求親密數
  • 如果整數A的全部因子(包括1,不包括A本身)之和等于B;且整數B的全部因子(包括1,不包括B本身)之和等于A
  • 03-11 關注:0
  • C語言求完數(完全數)
  • C語言求完數(完全數)
  • 如果一個數等于它的因子之和,則稱該數為“完數”(或“完全數”)。例如,6的因子為1、2、3,而 6=1+2+3,因此6是“完數”。
  • 03-11 關注:1
  • C語言輸出菱形(詳解版)