C++基础算法学习——完美立方

形如a 3 = b 3 + c 3 + d 3 的等式被称为完美立方等式。例如
12 3 = 6 3 + 8 3 + 10 3 。编写一个程序,对任给的正整数N
(N≤100),寻找所有的四元组(a, b, c, d),使得a 3 =
b 3 + c 3 + d 3 ,其中a,b,c,d 大于 1, 小于等于N,且
b<=c<=d。
 输入
一个正整数N (N≤100)。
 输出
每行输出一个完美立方。输出格式为:
Cube = a, Triple = (b,c,d)
其中a,b,c,d所在位置分别用实际求出四元组值代入。

#include <iostream>
#include<math.h>
using namespace std;

int main()
{
    int a,b,c,d,N;
    cout<<"请输入N的值:"<<endl;
    cin>>N;
    for(a=2;a<=N;a++)
    {
        for(b=1;b<=a-1;b++)
        {
            for(c=b;c<=a-1;c++)
            {
                for(d=c;d<=a-1;d++)
                {
                    if(pow(a,3)==(pow(b,3)+pow(c,3)+pow(d,3)))
                    {
                        //cout<<"a:"<<a<<(a^3)<<"--"<<a*a*a<<endl;
                        cout<<"Cube="<<a<<",Triple("<<b<<","<<c<<","<<d<<")"<<endl;
                    }
                }
            }
        }
    }
    return 0;
}

 

posted @ 2017-07-20 15:29  张杨  阅读(4575)  评论(0编辑  收藏  举报