POJ 2810:完璧なキューブ

オリジナルタイトルリンク

合計時間制限:65536kB:メモリ制限を1000ミリ秒

説明

フォーム\(A ^ {2} \) = \(B ^ {2} \) + \(C 2 ^ {} \) + \(D 2 ^ {} \)式が完全キューブと呼ばれていますスタイル。例えば、123 + 83 + 63 = 103。
すべての4つのタプル(A、B、C、Dを探して、任意の正の整数N(N≤100)のために、プログラムを書く ) ように
\(A ^ {2} \) = \({2 ^ B } \) + \(C 2 ^ {} \) + \ ^ {} \(D 2) 式中、a、b、c、dが1より大きく、またはより少ないN、およびb <= C <= Dです。

エントリー

正の整数N(N≤100)。

輸出

出力の各行に完璧なキューブ。出力フォーマット:
キューブ= A、トリプル=(B、C、D)
を特徴と大腿四頭筋に、B、C、D、それぞれ、実際の位置が計算された値。

大出力に、小さな値に従ってください。同じ値の2つの完全立方方程式は、より小さなB優先値ときに
出力が同じ出力優先小さな値cまま、同じ値が小さいDに出力されます。

思考

水問題を取得、暴力の失われた四サイクルができていました。唯一の注意点は、B、Cを所定の被験体は、dが2からように、1より大きいことである
列挙= 0900 1から出発することと一致している場合ならば、列挙を開始し(\ ^ {2})\ = (\ ^ {2} B \) + \(C 2 ^ {} \) + \(D 2 ^ {} \)

コード

#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>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;
}

おすすめ

転載: www.cnblogs.com/yifeianyi/p/12344697.html