(枚舉)POJ_1543_Perfect Cubes

題目鏈接

大致題意

  • 形如a3=b3+c3+d3的等式被稱爲完美立方等式。例如123= 63+83+103.編寫一個程序,對任意給出的正整數N(N<=100),尋找所有的四元組(a,b,c,d),使得a3=b3+c3+d3,其中1<a,b,c,d<=N,且b<=c<=d

解題思路

  • 四重循環來尋找滿足a3=b3+c3+d3,a的枚舉範圍是【2,N】,b的枚舉範圍是【2,a-1】,c的枚舉範圍是【b,a-1】,d的枚舉範圍是【c,a-1】

AC代碼

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int N;
    scanf("%d", &N);
    for(int a = 2; a <= N; a++)
        for(int b = 2; b < a; b++)
            for(int c = b; c < a; c++)
                for(int d = c; d < a; d++)
                    if(a * a * a == b * b * b + c * c * c + d * d * d) {
                        printf("Cube = %d, Triple = (%d,%d,%d)\n", a, b, c, d);
                    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章