//连续输出前50个素数
import java.util.Scanner; public class Hello { public static void main(String[] args) { Scanner in = new Scanner(System.in); int isPrime ; int n = 1; for (int count = 0;count < 50;) { ++n; isPrime = 1; for(int i = 2; i < n; i++) { if(n % i == 0) { isPrime = 0; break; } } if(isPrime == 1) { count++; System.out.print(n+" "); } } } }
import java.util.Scanner; // 凑硬币 public class Hello { public static void main(String[] args) { Scanner in = new Scanner(System.in); int amount = in.nextInt(); for(int one = 0; one <= amount; ++one) { for (int five = 0; five <= amount/5; ++five) { for (int ten = 0; ten <= amount/5; ++ten) { for(int twenty = 0; twenty <= amount/5; ++twenty) { if(one + five*5 + ten*10 + twenty*20 == amount) { System.out.println(one+"张1元 "+five+"张5元 "+ten+"张10元 "+twenty+"张20元"); } } } } } } }
讲凑硬币只算出一种方式 有两种办法
1. 用判断符 多重break
2.用lable break
import java.util.Scanner; public class Hello { public static void main(String[] args) { Scanner in = new Scanner(System.in); int amount = in.nextInt(); int IsExit = 0; for(int one = 0; one <= amount; ++one) { for (int five = 0; five <= amount/5; ++five) { for (int ten = 0; ten <= amount/5; ++ten) { for(int twenty = 0; twenty <= amount/5; ++twenty) { if(one + five*5 + ten*10 + twenty*20 == amount) { System.out.println(one+"张1元 "+five+"张5元 "+ten+"张10元 "+twenty+"张20元"); IsExit = 1; break; } } if(IsExit == 1) break; } if(IsExit == 1) break; } if(IsExit == 1) break; } } }
import java.util.Scanner; public class Hello { public static void main(String[] args) { Scanner in = new Scanner(System.in); int amount = in.nextInt(); OUT: for(int one = 0; one <= amount; ++one) { for (int five = 0; five <= amount/5; ++five) { for (int ten = 0; ten <= amount/5; ++ten) { for(int twenty = 0; twenty <= amount/5; ++twenty) { if(one + five*5 + ten*10 + twenty*20 == amount) { System.out.println(one+"张1元 "+five+"张5元 "+ten+"张10元 "+twenty+"张20元"); // IsExit = 1; break OUT; } } //if(IsExit == 1) break; } //if(IsExit == 1) break; } //if(IsExit == 1) break; } } }