注意满足循环终止条件时counter是否仍在+1(记洛谷P1035WA的经历,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
注意满足循环终止条件时counter是否仍在+1(记洛谷P1035WA的经历,Java语言描述)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意描述
P1035題目鏈接
分析
題不難,至少我們可以用比較直接的思維,用循環去AC它~~
每次自增就行,加一個計數器counter就完事~~
自測——聽取WA聲一片
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int k = scanner.nextInt();int n = 1;double sum = 0;while (sum < k) {sum += 1/n;n++;}System.out.println(n);scanner.close();} }測的不對,開Debug,發現是被截斷了,太氣了~~
首次提交——WAWA大哭
做OJ至今,每日WAWA大哭已是常態,我心態好,不慌~~
下為代碼:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int k = scanner.nextInt();int n = 1;double sum = 0;while (sum < k) {sum += (double)1/n;n++;}System.out.println(n);scanner.close();} }滿眼都是吉祥的紅色~~
判斷沒加=,然后加上以后全都炸了,分析與正解在下文……
再次提交——AC咯
還是在Debug的過程中看出了自己的循環在自增滿足條件以后,counter還在+1,就會多+1,所以全部WA掉~~
下為提交的AC代碼:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int k = scanner.nextInt();int n = 1;double sum = 0.0;while (sum <= k) {sum += (double)1/n;if (sum <= k) {n++;}}System.out.println(n);scanner.close();} } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的注意满足循环终止条件时counter是否仍在+1(记洛谷P1035WA的经历,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】Matplotlib绘制
- 下一篇: 三子棋の胜负判断(洛谷P1838题题解,