吸血鬼数字—THINKING IN JAVA中一道习题
2013-04-02 01:04
501 查看
importjava.util.*; publicclassTest01{ publicstaticvoidmain(String[]args){ intnum1,num2,product,count; intvampCount=0; int[]startDigit=newint[4]; int[]productDigit=newint[4]; for(num1=10;num1<=99;num1++){ //num2=num1+1控制吸血鬼数值重复出现 for(num2=num1+1;num2<=99;num2++){ product=num1*num2; if(product<1000) continue; startDigit[0]=num1/10; startDigit[1]=num1%10; startDigit[2]=num2/10; startDigit[3]=num2%10; productDigit[0]=product/1000; productDigit[1]=(product%1000)/100; productDigit[2]=(product%100)/10; productDigit[3]=product%10; count=0; for(inti=0;i<4;i++){ for(intj=0;j<4;j++){ if(startDigit[i]==productDigit[j]){ count++; startDigit[i]=-1; productDigit[j]=-2; } } } if(count==4){ vampCount++; System.out.println("第"+vampCount+"个吸血鬼数字为:"+product+"="+num1+"*"+num2); } } } /*网上找到的另一种方法,很独到 String[]ar_str1,ar_str2; intsum=0; for(inti=10;i<100;i++){ for(intj=i+1;j<100;j++){ inti_val=i*j; if(i_val<1000||i_val>9999) continue;//积小于1000或大于9999排除,继续下一轮环 ar_str1=String.valueOf(i_val).split(""); ar_str2=(String.valueOf(i)+String.valueOf(j)).split(""); java.util.Arrays.sort(ar_str1); java.util.Arrays.sort(ar_str2); if(java.util.Arrays.equals(ar_str1,ar_str2)){ //排序后比较,为真则找到一组 sum++; System.out.println("第"+sum+"组:"+i+"*"+j+"=" +i_val); } } } System.out.println("共找到"+sum+"组吸血鬼数"); */ } }
相关文章推荐
- [Thinking in Java]“吸血鬼”数字
- 吸血鬼数字的实现(thinking in java练习题)
- 【Java】 Thinking in Java 4.8 练习10 吸血鬼数字
- Thinking in Java--吸血鬼数字
- Thinking in java吸血鬼数字问题
- 《Thinking in Java》习题——吸血鬼数字
- THINKING IN JAVA中吸血鬼数字题目的答案,稍作修改
- [置顶] 关于四位数的“吸血鬼数字”java写法和c的写法
- 一道面试 数字转大写 java版
- Thinking in java 习题答案
- Thinking in Java(第四版)习题--第二章
- Thinking in JAVA 习题练习
- JAVA 编程思想 找出所有四位数的吸血鬼数字
- 暴力版java 吸血鬼数字 代码 --- 依靠循环嵌套解决。
- 吸血鬼数字检验之java实现
- Think in patten of Java中的一道习题
- 疯狂JAVA习题 数字转换成人民币
- java输出吸血鬼数字小结
- Thinking in Java习题心得
- 找出四位数的所有吸血鬼数字(JAVA)