1.计算1-1000数字中1出现的个数。
public static void main(String[] args) { int c =0; for (int i = 1; i <=1000; i++) { char[] charArray = String.valueOf(i).toCharArray(); for (char d : charArray) { if(d=='1'){ c++; } } } System.out.println(c); }
2.对N个字符进行全排列并打印输出。
public class test01 { static int c = 0; public static void main(String[] args) { printAllArray("阿威十八式");//1,2,6,24,120,720,5040,40302 } private static void printAllArray(String s) { printAllArray(s, ""); } private static void printAllArray(String s, String n) { if (s.length() == 0) { System.out.println(++c + " --- " +n ); } else { for (int i = 0; i < s.length(); i++) { printAllArray(s.substring(1), n + s.charAt(0)); s = s.substring(1) + s.charAt(0); } } }
3.计算两个数的最大公约数和最小公倍数。
public static void main(String[] args) { Scanner scan = new Scanner(System.in); int i, c=1; int a = scan.nextInt(); int b = scan.nextInt(); if(a%b==0){ c=b; }else if (b%a==0){ c=a; }else{ for(i=1 ;i<=(a<b?a:b);i++){ if((a%i)==0&(b%i)==0){ c*=i; } } } System.out.println(c); System.out.println(a*b/c); }