;this function will return c/d that following a/b.
void next(int a,int b,int n, int& c,int& d)
{
int i;
int max_i=1;
int max_r=a%b;
int r=max_r;
for(i=2;i<=n;i++){
r+=b;
if(r>b)r-=b;
if(r>max_r){
max_r=r;
max_i=i;
}
}
d=max_i;
c=(a*d+d-1)/b;
}
#define N 5
int main()
{
int a,b;
a=1;b=N;
do
{
next(a,b,N,&a,&b);
}while(a!=N||b!=1);
return 0;
}