列出真分数序列
列出真分数序列:
按递增顺序依次列出所有分母为40.分子小于40的最简分数。
解题思路:
利用for循环遍历所有分子的可能,在for循环中利用辗转相除法求出最大公约数,若最大公约数为1则输出,否则继续循环。
代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,m,n,temp,x=0;
cout<<"The fraction serials with demominator 40 is:"<<endl;
for(i=1;i<40;i++)
{
m=40;
n=i;
while(n!=0)
{
temp=m%n;
m=n;
n=temp;
}
if(m==1)
{
x++;
cout<<setw(2)<<i<<"/40 ";
if(x%8==0)
cout<<endl;
}
}
return 0;
}