HDu 1407 LTCと同じレベルかどうかをテスト

2786 ワード

考え方:直接暴力すればよかったが、一度waをしたが、当時は正の整数解であることに気づかなかった.
コードは次のとおりです.
#include"stdio.h"



int main( )

{

    int i,j,k,sum,flag;

    while(~scanf("%d",&sum))

    {

        flag=0;

        for(i=1;i*i<=sum;i++)

        {

            for(j=1;j*j<=sum;j++)

            {

                if(j*j+i*i>sum)

                    break;

                for(k=1;k*k<=sum;k++)

                {

                    if(j*j+i*i+k*k>sum)

                        break;

                    if(j*j+i*i+k*k==sum)

                    {flag=1;break;}

                }

                if(flag==1)

                    break;

            }

            if(flag==1)

                break;

        }

        printf("%d %d %d
",i,j,k); } return 0; }