您的位置:首页 > 编程语言

南京林业大学“未来之星”第六届程序设计大赛(决赛)试题G 参考代码

2014-06-09 11:25 363 查看

G

Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 90 Accepted Submission(s) : 3

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

有一天小小长大了, 他想测试下自己对数字的敏感程度。

X的3次方 + Y的3次方 + Z的3次方 = V (X,Y,Z,V都是正整数,且都小于10 000)

当V确定的时候,他想迅速知道有没有解,有的话X,Y,Z分别是什么。

Input

测试有多个case, 每一个case的输入一个正整数V(0<V<10 000), V=0的时候,代表输入结束

Output

每个case的结果输出一行,如果有解,可能多组解法,输出全部满足条件的X Y Z三个总和);如果没解,输出”sorry”。

Sample Input

3
1
10
0


Sample Output

3
sorry
4


Author

mtttt

#include<iostream>
#include<string>
using namespace std;

int main()
{
	int v;
	int x,y,z;
	while(cin>>v&&v>0)
	{
		int flag=0;
		int s=0;
		for( x = 1; x < 30; ++x)//排除重复的组合
			for ( y = 1; y <= x; ++y)
				for ( z = 1; z <= y; ++z){
					if(pow(x,3)+pow(y,3)+pow(z,3)==v){
						flag=1;
						s+=x+y+z;	
					}	
				}
				if(flag)
					cout<<s<<endl;
				else
					cout<<"sorry"<<endl;
	}
	return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐