poj1543

简单题

View Code
#include <iostream>

#include <cstdlib>

#include <cstdio>

#include <cstring>

using namespace std;



void work(int n)

{

    int a = n * n * n;

    for (int i = 2; ;i++)

    {

        int b = i * i * i;

        if (b * 3 > a)

            break;

        for (int j = i; ; j++)

        {

            int c = j * j * j;

            if (b + c * 2 > a)

                break;

            for (int k = j; ; k++)

            {

                int d = k * k * k;

                if (b + c + d > a)

                    break;

                if (b + c + d == a)

                    printf("Cube = %d, Triple = (%d,%d,%d)\n", n, i, j, k);

            }

        }

    }

}



int main()

{

    int n;

    scanf("%d", &n);

    for (int i = 1; i <= n; i++)

        work(i);

    return 0;

}

 

你可能感兴趣的:(poj)