1. 程式人生 > 其它 >三位數的各個數字立方和為1099的三位數(C語言)

三位數的各個數字立方和為1099的三位數(C語言)

三位數的各個數字立方和為1099的三位數

問題:請程式設計列出一個三位數的各個數字立方和為1099的所有的三位數

分析:三位數的取值範圍100~999;求各個數字的立方和需要使用函式pow(),需要匯入math.h標頭檔案;

程式碼如下:

#include <stdio.h>
#include <math.h>
#define VALUE 1099
int main()
{
    //求出所有各位數字的立方和等於1099的3位數
    int ge = 0, shi = 0, bai = 0;
    int sum = 0, count = 0;
    for (int num = 100; num < 1000; num++)
    {
        bai = num /100;       //分離百位數字
        shi = num % 100 / 10; //分離十位數字
        ge = num % 10;        //分離個位數字
        sum = pow(bai, 3) + pow(shi, 3) + pow(ge, 3);
        if (VALUE == sum)
        {
            count++;
            printf ("%d\t", num);
        }  
    }
    printf ("\n");
    if (count > 0)
        printf ("符合條件的三位數共有%d個\n", count);
    else
        printf ("沒有符合條件的三位數\n");
   
    return 0;
}

程式碼執行結果如下:

關鍵在於百位十位個位數字的分離

轉載請註明出處