标题:分数
1/1 + 1/2 + 1/4 + 1/8 + 1/16 + ....
每项是前一项的一半,如果一共有20项,
求这个和是多少,结果用分数表示出来。
类似:
3/2
当然,这只是加了前2项而已。分子分母要求互质。注意:
需要提交的是已经约分过的分数,中间任何位置不能含有空格。
请不要填写任何多余的文字或符号。
1048575/524288
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int above = 1,down = 1;
int num = 19;
while(num > 0)
{
above = above * 2 +1;
down *= 2;
num--;
//cout<<"num = "<<num<<" above = "<<above<<" down = "<<down<<endl;
}
cout<<"num = "<<num<<" above = "<<above<<" down = "<<down<<endl;
//判断分子分母能否约分
while((above%2 == 0) && (down%2 ==0))
{
above /= 2;
down /= 2;
cout<<"above = "<<above<<" down = "<<down<<endl;
}
return 0;
}