题目:求0—7所能组成的奇数个数,奇数中不包含重复数字。
1 public class Prog43 { 2 public static void main(String[] args) { 3 //0-7能组成的所有不重复的数的最大值是76543210 4 //0-76543210中所有的奇数个数为76543210/2 5 String[] s=new String[76543210/2];//定义一个字符串数组存储0-7能组成的所有奇数 6 int n=0;//定义一个变量为满足条件的奇数计数 7 int count=0; 8 //将所有奇数转换成字符串存入字符串数组s中 9 for(int i=1;i<=76543210;i++) { 10 if((i+1)%2==0) { 11 s[n]=String.valueOf(i); 12 n++; 13 } 14 } 15 //将所有的字符串数组中的元素取出分别存入一个字符数组c中 16 for(int j=0;j<n;j++) { 17 char[] c= s[j].toCharArray(); 18 outer:for(int k=0;k<c.length;k++) { 19 for(int m=1;m<c.length;m++) { 20 if(c[k]==c[m]) {//将字符数组中的每个元素取出,一旦发现重复值退出循环 21 break outer; 22 } 23 } 24 count++;//若该字符数组中不存在重复的元素,则该奇数为满足条件的奇数 25 } 26 } 27 System.out.println("0-7所能组成的不包含重复数字的奇数个数共有:"+count+"个"); 28 } 29 } 30 /*运行结果 31 0-7所能组成的不包含重复数字的奇数个数共有:18567220个 32 */