UVa 11565 - Simple Equations

来源:互联网 发布:安川 机器人 编程 技巧 编辑:程序博客网 时间:2024/06/05 15:49

題目:已知三個不同整數的和,積以及平方和,求滿足第一個數最小的組合。

分析:數論,枚舉。直接枚舉兩層循環即可。

說明:注意數據中可能有負數和0。

#include <cstring>#include <cstdio>int main(){int n, A, B, C, x, y, z;while (~scanf("%d",&n))while (n --) {scanf("%d%d%d",&A,&B,&C);int flag = 0;for (x = -100; x+x+x < A; ++ x) {if (x*x >= C || x && B%x) continue;for (y = x+1; x+y+y < A; ++ y) {z = A - x - y; if (y < z && x*y*z == B && x*x+y*y+z*z == C) {flag = 1;break;}}if (flag) break;}if (flag)printf("%d %d %d\n",x,y,z);else printf("No solution.\n");}     return 0;}


0 0
原创粉丝点击