java實戰12:分數
阿新 • • 發佈:2021-01-13
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