Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:一个奇怪的现象!In Reply To:Re:一个奇怪的现象! Posted by:zhujie at 2006-03-12 22:52:22 仔细推敲一下1 2的输出,不要到处乱怀疑 > #include <stdio.h> > #include <math.h> > > #define EPI 1e-14 > bool More(double x,double y) > { > return (x - y > EPI); > } > bool Equal(double x,double y) > { > return (fabs(x - y) < EPI); > } > int main() > { > int gain,loss,Deno,Mole; > double Brate,Arate,Crate; > bool ok; > while (scanf("%d%d",&gain,&loss) != EOF) > { > > Arate = Brate = double(gain) / loss; > Deno = 1; > while (Deno <= loss) > { > ok = false; > Mole =int(ceil(Deno * (Arate - Brate))); > if (Mole == 0) Mole ++; > while (1) > { > Crate = double(Mole) / Deno; > > if (Equal(Crate,Arate-Brate)) {Mole ++ ;continue;} > if (More(Crate,Arate+Brate) || Equal(Crate,Arate+Brate)) break; > Brate = fabs(Crate - Arate); > ok = true; > Mole ++; > } > if (ok) printf("%d/%d\n",Mole-1,Deno); > Deno++; > } > printf("\n"); > } > return 0; > } > 这个是我的程序。自己实在是查不出哪错了,看看有没有哪个好心人帮帮忙看看 :)万分感谢! Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator