ある店では、3つの空きペットボトルを1本のサイダーに変えることができると規定されています.張さんは手に10本の空きペットボトルを持っていますが、彼女はせいぜい何本のサイダーに変えて飲むことができますか.答えは5本で、方法は以下の通りです:まず9つの空き瓶で3本のサイダーを交換して、3本のいっぱいのものを飲んで、飲んでから4つの空き瓶を飲みます
700 ワード
説明を入力:
入力ファイルには最大10組のテストデータが含まれており、各データは1行を占め、正の整数n(1<=n<=100)のみが含まれており、張さんの手にある空きペットボトルの数を示しています.n=0は入力が終わったことを示しており、あなたのプログラムはこの行を処理すべきではありません.
出力の説明:
各グループのテストデータについて、1行出力し、最大飲めるサイダーボトル数を示す.1本も飲めない場合は、0を出力します.
import java.util.*; public class Main{public static void main(String[]args){Scanner sc=new Scanner(System.in);while(sc.hasNext(){int n=sc.nextInt();//空のペットボトル数int count=0;//飲めるペットボトル数if(n>0){while(n>1){ count+=n/3; n=n%3+n/3; if(n==2){ n++; } } System.out.println(count); } } sc.close(); } }
入力ファイルには最大10組のテストデータが含まれており、各データは1行を占め、正の整数n(1<=n<=100)のみが含まれており、張さんの手にある空きペットボトルの数を示しています.n=0は入力が終わったことを示しており、あなたのプログラムはこの行を処理すべきではありません.
出力の説明:
各グループのテストデータについて、1行出力し、最大飲めるサイダーボトル数を示す.1本も飲めない場合は、0を出力します.
import java.util.*; public class Main{public static void main(String[]args){Scanner sc=new Scanner(System.in);while(sc.hasNext(){int n=sc.nextInt();//空のペットボトル数int count=0;//飲めるペットボトル数if(n>0){while(n>1){ count+=n/3; n=n%3+n/3; if(n==2){ n++; } } System.out.println(count); } } sc.close(); } }