C/C++の宿題片付けます 135代目
■ このスレッドは過去ログ倉庫に格納されています
0472デフォルトの名無しさん
2010/05/03(月) 02:22:05#include <stdio.h>
typedef struct{
int t0;
int t1;
}tuple2;
// s*f1 + t*f2 = gcd(f1,f2) (f1>f2>0)
tuple2 ex_gcd(int f1, int f2){
if(f2==0) {
tuple2 tup = {1, 0};
return tup;
}
{
int q = f1/f2;
int r = f1%f2;
tuple2 ret = ex_gcd(f2, r);
tuple2 res;
res.t0 = ret.t1;
res.t1 = ret.t0 - ret.t1*q;
return res;
}
}
int main(void){
int f1=12, f2=23;
tuple2 tup = ex_gcd(f1, f2);
printf("s = %d t = %d\n", tup.t0, tup.t1);
return 0;
}
自分で言うのもなんだがコードがキモ過ぎる
tuple2 res = {ret.t1, ret.t0 - ret.t1*q}; とできないとかC言語腐ってやがる
■ このスレッドは過去ログ倉庫に格納されています