| ||||||||||
| 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:一个奇怪的现象! Posted by:zhujie at 2006-03-12 22:30:42 #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