中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言水仙花數的求法是什么

小億
133
2024-01-08 10:21:45
欄目: 編程語言

C語言中求水仙花數的方法是利用循環和條件判斷進行計算。水仙花數是指一個n位數(n≥3),它的每個位上的數字的n次冪之和等于它本身。

具體的求法如下:

  1. 使用一個循環,從100開始逐個判斷每個數是否是水仙花數。
  2. 對于每個數,首先獲取該數的位數n。
  3. 將該數拆分為各個位上的數字,并計算每個數字的n次冪。
  4. 將各個數字的n次冪相加,得到一個和。
  5. 判斷該和是否等于原數,如果相等,則說明該數是水仙花數,可以輸出或保存起來。

示例代碼如下:

#include <stdio.h>
#include <math.h>

int main() {
    int n, num, digit, sum;
    
    printf("水仙花數有:");
    
    for (num = 100; num < 1000; num++) {
        n = 0;
        sum = 0;
        int temp = num;
        
        // 獲取位數n
        while (temp != 0) {
            temp /= 10;
            n++;
        }
        
        temp = num;
        
        // 分解并計算每個位上的數字的n次冪
        while (temp != 0) {
            digit = temp % 10;
            sum += pow(digit, n);
            temp /= 10;
        }
        
        // 判斷是否是水仙花數
        if (sum == num) {
            printf("%d ", num);
        }
    }
    
    return 0;
}

運行結果為:

水仙花數有:153 370 371 407

表示100到999之間的水仙花數為153、370、371和407。

0
饶阳县| 利津县| 克山县| 兰溪市| 娱乐| 南陵县| 社会| 青龙| 额尔古纳市| 丘北县| 太仓市| 简阳市| 平山县| 宿州市| 罗山县| 通山县| 乌海市| 大石桥市| 饶河县| 太保市| 明水县| 蒙城县| 敖汉旗| 南涧| 隆德县| 江津市| 周口市| 舞钢市| 都兰县| 武夷山市| 二连浩特市| 鹿邑县| 永清县| 张家界市| 额尔古纳市| 宁陕县| 平江县| 沙雅县| 福安市| 南溪县| 隆昌县|