HDU 1407 测试你是否和LTC水平一样高 (暴力)
2016-05-05 11:05
351 查看
测试你是否和LTC水平一样高
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16418 Accepted Submission(s): 5405
[align=left]Problem Description[/align]
大家提到LTC都佩服的不行,不过,如果竞赛只有这一个题目,我敢保证你和他绝对在一个水平线上!
你的任务是:
计算方程x^2+y^2+z^2= num的一个正整数解。
[align=left]Input[/align]
输入数据包含多个测试实例,每个实例占一行,仅仅包含一个小于等于10000的正整数num。
[align=left]Output[/align]
对于每组测试数据,请按照x,y,z递增的顺序输出它的一个最小正整数解,每个实例的输出占一行,题目保证所有测试数据都有解。
[align=left]Sample Input[/align]
3
[align=left]Sample Output[/align]
1 1 1
[align=left]Author[/align]
lcy
[align=left]Source[/align]
杭电ACM集训队训练赛(IV)
题解:暴力....(n^3)
AC代码:
#include<iostream> #include<cstdlib> #include<cstdio> #include<cmath> #include<cstring> #include<string> #include<cstdlib> #include<iomanip> #include<algorithm> #include<time.h> typedef long long LL; using namespace std; int main() { int n,a,b,c,m; while(scanf("%d",&n)!=EOF) { m=0; for(a=1;a<=100;a++) { for(b=a;b<=100;b++) { for(c=b;c<=100;c++) { if(n==a*a+b*b+c*c) { printf("%d %d %d\n",a,b,c); m=1; break; } } if(m==1) break; //题目要求:输出它的一个最小正整数解 } if(m==1) break; //题目要求:输出它的一个最小正整数解 } } return 0; }
同样的暴力:(n^2)
while(scanf("%d", &m) != EOF) { double k = 0; for(int i=1; i<M; i++) { for(int j=1; j<M; j++) { k = sqrt(m - i*i - j*j); if(!(k- int(k)) && k != 0) { printf("%d %d %d\n", i, j, int(k)); goto the; } } } the:{} }
相关文章推荐
- NSString -- UILabel中字体有多种颜色,字符串自动计算高度/换行
- ASP.NET-HttpPostedFileBase file为null的问题
- Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)
- Android仿QQ附近的人搜索展示功能
- JSONObject.toBean 和 JSONObject.fromObject
- ORA-12154 问题解决办法
- PASSION之ASSEMBLY(二)
- Android学习路线指南
- 【oracle】 日期和字符之间的转换
- RGB颜色
- web mvc下的前后端url不一致
- MAC OS下安装Mysql5.7.12
- android relativelayout属性大全
- calloc和realloc函数
- iOS 单元测试
- Xcode7 真机调试(无需证书)详解
- C++第五次实验
- docker学习资源
- ASP.NET--Attribute定义及用法
- Android自定义View之圆环交替 等待效果