java实战12:分数

java实战12:分数

蓝桥杯第九届java省赛A组1.

原题:
标题:分数

1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …
每项是前一项的一半,如果一共有20项,
求这个和是多少,结果用分数表示出来。
类似:
3/2
当然,这只是加了前2项而已。分子分母要求互质。

注意:
需要提交的是已经约分过的分数,中间任何位置不能含有空格。
请不要填写任何多余的文字或符号。

思路:肯定不能用那种double sum;然后挨个加进去了,因为这样的话得到的就是一个有很多位的小数,要求的结果是约分过的分数,所以考虑分子分母分开算,再一比。

代码如下:

public class province_1 {
    
    
	public static void main(String[] args) {
    
    
		int zi=1;int mu=1;
		for(float i=1;i<=19;i++) {
    
    
			zi+=(mu*2);
			mu*=2;
		}
		System.out.printf("%d ",zi);
		System.out.printf("\n");
		System.out.printf("%d ",mu);
	}
}

运行结果:
在这里插入图片描述
所以结果就是1048575/524288

猜你喜欢

转载自blog.csdn.net/weixin_46020391/article/details/112549902
今日推荐