问题描述
1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …
每项是前一项的一半,如果一共有20项,
求这个和是多少,结果用分数表示出来。
类似:
3/2
当然,这只是加了前2项而已。分子分母要求互质。
注意:
需要输出的是已经约分过的分数,中间任何位置不能含有空格。
请不要输出任何多余的文字或符号。
输入
没有输入。
输出
输出一个分数。
提示
把答案放在输出语句中输出,例如C/C++语言可以用printf或cout。
思路
这道题最简单的方法就是先用等比数列求和公式算出来式子,然后用程序算出来式子的结果即可。
计算如下:
代码:
#include <stdio.h>
#include <math.h>
int main ()
{
long long a = 2;
long long b = 2;
int i;
for(i=1;i<=18;i++)
{
a*=2;
b*=2;
}
a*=2;
a=a-1;
for(i=2;i<sqrt(a);i++)
{
if(a%i==0 && b%i==0)
{
a/=i;
b/=i;
}
}
printf("%lld/%lld",a,b);
return 0;
}
答案:1048575/524288