Tìm các số nguyên dương có 3 chữ số bằng tổng lập phương 3 chữ số của nó

237
Lập trình C++

Tìm tất cả các số nguyên n có 3 chữ số abc sao cho: Tổng các lập phương các chữ số của nó thì bằng chính nó. Kết quả tìm được lưu vào tệp LAPPHUONG.OUT là dãy số có 3 chữ số thỏa mãn điều kiện trên (mỗi số cách nhau một dấu cách)

Cách 1:

#include <iostream>
using namespace std;
int main() {
    freopen("LAPPHUONG.OUT","w",stdout);
    for (int i = 100; i < 1000; i++) {
        int a = i / 100;
        int b = (i % 100) / 10;
        int c = (i % 100) % 10;
        if (i == a*a*a + b*b*b + c*c*c)
            cout << a << b << c << " ";
    }
    return 0;
}

Cách 2:

#include <iostream>
using namespace std;
int main() {
    freopen("LAPPHUONG.OUT","w",stdout);
    for (int a = 1; a <= 9; a++) {
        for (int b = 0; b <=9; b++) {
            for (int c = 0; c <= 9; c++) {
               if (100*a + 10*b + c == a*a*a + b*b*b + c*c*c)
                    cout << a << b << c << " ";
            }
        }
    }
    return 0;
}

Kết quả: 153 370 371 407