用1,2,3,4,5,6,7,8,9这9个数字组成一个九位数。

来源:互联网 发布:淘宝捡漏是什么意思 编辑:程序博客网 时间:2024/06/10 08:28

用1,2,3,4,5,6,7,8,9这9个数字组成一个九位数(每个数字恰好用一次)。使得它的前三位,中三位,后三位的比值是3:2:1,求所有满足条件的数?

public class FindNumber {public static void main(String[] args) {int match=511;System.out.println("%------"+1003%10+"   "+(1003/10)%10+"    "+(1003/100)%10);for(int i=123;i<987;i++){int total=0;int c=i*3002001;//String result=""+c;if(c>=987654321||c<=123456789){break;}else{String result=c+"";char[] resultArr = result.toCharArray();for(int j=0;j<resultArr.length;j++){if(resultArr[j]=='1'){total=total|1;}else if(resultArr[j]=='2'){total=total|2;}else if(resultArr[j]=='3'){total=total|4;}else if(resultArr[j]=='4'){total=total|8;}else if(resultArr[j]=='5'){total=total|16;}else if(resultArr[j]=='6'){total=total|32;}else if(resultArr[j]=='7'){total=total|64;}else if(resultArr[j]=='8'){total=total|128;}else if(resultArr[j]=='9'){total=total|256;}if(match == total){System.out.println(c);}}//total=(c%10)|((c/10)%10)|((c/100)%10)|((c/1000)%10)|((c/10000)%10)|((c/100000)%10)|((c/1000000)%10)|((c/10000000)%10)|((c/100000000)%10);//System.out.println(total);//if(total<=511)//{//if((match&total)==match)//{//System.out.println(Integer.toBinaryString(total));////System.out.println(c);//}//}//int a1=c%10;//int a2=c%100;//int a3=c%100;}}}}


0 1
原创粉丝点击