1407 测试你是否和LTC水平一样高
Posted Wally的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1407 测试你是否和LTC水平一样高相关的知识,希望对你有一定的参考价值。
Problem Description
大家提到LTC都佩服的不行,不过,如果竞赛只有这一个题目,我敢保证你和他绝对在一个水平线上!
你的任务是:
计算方程x^2+y^2+z^2= num的一个正整数解。
你的任务是:
计算方程x^2+y^2+z^2= num的一个正整数解。
Input
输入数据包含多个测试实例,每个实例占一行,仅仅包含一个小于等于10000的正整数num。
Output
对于每组测试数据,请按照x,y,z递增的顺序输出它的一个最小正整数解,每个实例的输出占一行,题目保证所有测试数据都有解。
Sample Input
3
Sample Output
1 1 1
1 #include <iostream> 2 #include <algorithm> 3 #include <stdio.h> 4 #include <math.h> 5 #include <string.h> 6 #include <time.h> 7 using namespace std; 8 9 int main() 10 { 11 int num,i,j,t,a[3]; 12 while(cin>>num) 13 { 14 memset(a,0,sizeof(a)); 15 t=0; 16 for(i=1;i<sqrt(num);i++) 17 { 18 for(j=i;j<sqrt(num-i*i);j++) 19 { 20 if(sqrt(num-i*i-j*j)==(int)(sqrt(num-i*i-j*j))) 21 { 22 t=1;break; 23 } 24 } 25 if(t==1) 26 break; 27 } 28 cout<<i<<" "<<j<<" "<<sqrt(num-i*i-j*j)<<endl; 29 } 30 return 0; 31 }
以上是关于1407 测试你是否和LTC水平一样高的主要内容,如果未能解决你的问题,请参考以下文章