所持金ピッタリになる組み合わせをwhile文で全パターン調べる
fn main() { println!("所持金を入力してください。"); let mut x = String::new(); std::io::stdin().read_line(&mut x).expect("Failed to read line"); x = x.trim_end().to_owned(); let mut wallet: i32 = x.parse::<i32>().unwrap(); let mut x = 0; let mut y = 0; while(500 * x + 300*y <= wallet) { while(500 * x + 300*y <= wallet) { if(500*x + 300*y == wallet) { println!("500円のケーキ:{}個", x); println!("300円のケーキ:{}個\n", y); } y += 1; } x += 1; y=0; } }
Running `target/debug/basic`
所持金を入力してください。
3000
500円のケーキ:0個
300円のケーキ:10個
500円のケーキ:3個
300円のケーキ:5個
500円のケーキ:6個
300円のケーキ:0個
while文の入れ子って珍しい感じがするが、条件に当てはまるまでのループはforよりwhileの方が分かりやすい感じはしますね。