思路分析:9位的整数,由不重复的1~9组成,注意分析出没有0。
每个数字只出现一次,那么最小的数是123456789,最大的数是987654321。
既然不重复,那么把每一位获取,比较9个数字不同即可。怎样比较,9个数字用a!=b&&a!=c......可不行,
想想把获取的数字放到数组里面,通过冒泡排序法比较数字是否有重复即可。不要说冒泡排序只能用来排序......
改良下代码就可以用了。
不为0且数字都不一样两个条件满足后,继续进行判断。
用一个循环判断前两位被2整除,前三位被3整除,......,前九位被9整除。条件满足输出,结束。
答案:381654729
详细代码如下:
public class testLargeNumber {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] wei = new int[9]; //每一位
int flag;
int i, num,cnt=0,n,sum=0;//统计不相等和不为0的数量
for (i = 123456789; i <= 987654321; i++) {
num = i; //初始化num,如果直接用i,后面会变,小心!
flag = 0;//用于判断是否满足条件
// 计算每一位
for (int j = 0; j < 9; j++) {
wei[j]