C/C++の宿題片付けます 132代目
■ このスレッドは過去ログ倉庫に格納されています
0398デフォルトの名無しさん
2009/11/26(木) 21:58:06#include<stdio.h>
#include<math.h>
int gcd(int a, int b){
int c;
while((c=a%b)) a=b, b=c;
return b;
}
int is_ok(int a, int b, int c){
return (a<=b && (c*c==a*a+b*b) && (gcd(a, gcd(b, c))==1));
}
int main(void){
int a, b, c, count=0;
for(c=2;count<1000;c++){
for(b=c/1.42;b<c && count<1000;b++){
a=sqrt(c*c-b*b);
if(is_ok(a, b, c) || is_ok(++a, b, c)){
printf("%4d : a=%d b=%d c=%d\n", ++count, a, b, c);
}
}
}
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています