import java.util.*;public class NarcissusNum {/** * @param args */public static void inPut() {long sum = 0L;int sing;long num;List<Long> listnum = new ArrayList<Long>();Scanner scanner = new Scanner(System.in);System.out.println("请输入最大整数:");String str = scanner.nextLine().trim();while(!isNumeric(str)) {System.out.println("您输入的不是整数,请重新输入:");str = scanner.nextLine().trim();}for(num=1; num<Long.parseLong(str); num++) {String strnum = num + "";for(int i=0; i<strnum.length(); i++) {sing = strnum.codePointAt(i) - 48;//System.out.println("sing=" + sing);sum = sum + sing*sing*sing;}long t = sum;sum = 0L;//System.out.println("sum=" + sum);//System.out.println("***********");if(num == t){listnum.add(num);}}System.out.println("在1-" + Long.parseLong(str) + "之间的数中,水仙花数有:\n");for(int j=0; j<listnum.size(); j++) {System.out.print(listnum.get(j) + "--");}}public static boolean isNumeric(String str) {for (int i = str.length(); --i >= 0;) {if (!Character.isDigit(str.charAt(i))) {return false;}}return true;}public static void main(String[] args) {inPut();}}package rs.narcissus;
package rs.primenum; import java.util.*; public class PrimeNum { public static boolean isNumeric(String str) { if(str.length() > 5) { return false; } for (int i = str.length(); --i >= 0;) { if (!Character.isDigit(str.charAt(i))) { return false; } } return true; } public static boolean surePrime(int num) { boolean flag = true; if (num <= 1) { flag = false; } else { for (int k = 2; k <= Math.sqrt(num); k++) { if (num % k == 0) { flag = false; break; } } } return flag; } public static void printPrime() { List<Integer> list = new ArrayList<Integer>(); int num; Scanner scanner = new Scanner(System.in); System.out.println("请输入第一个数:"); String str1 = scanner.nextLine().trim(); while(!isNumeric(str1)) { System.out.println("您输入的不是有效长度内的整数,请重新输入:"); str1 = scanner.nextLine().trim(); } System.out.println("请输入第二个数:"); String str2 = scanner.nextLine().trim(); while(!isNumeric(str2)) { System.out.println("您输入的不是有效长度内的整数,请重新输入:"); str1 = scanner.nextLine().trim(); } int num1 = Integer.parseInt(str1); int num2 = Integer.parseInt(str2); if(num1 > num2) { int tem = num1; num1 = num2; num2 = tem; } for (num = num1; num < num2; num++) { if (surePrime(num)) { list.add(num); } } System.out.println("*************************************"); System.out.println("在" + num1 + "-" + num2 + "之间的素数有:"); for (int i = 0; i < list.size(); i++) { int listnum = list.get(i); System.out.print(listnum + " "); } System.out.println("\n共有(" + list.size() + ")个."); } public static void main(String[] args) { printPrime(); } }
水仙花数/素数
最新推荐文章于 2022-11-24 11:34:43 发布