题目地址:http://news.bangkaow.com/news/20110812/227061.html
题目简述:求大于某个整数n的相邻两位数不同的最小的整数。
public class test {
public static void main(String[] args) {
// int num = (int) (Math.random() * 10000000);
int num = 9899;
System.out.println(num);
System.out.println(getResult(num));
}
private static int getResult(int num) {
char[] array = String.valueOf(num).toCharArray();
int length = array.length;
int from = 1;
while (from < length) {
// 找到首个跟上一位重复的位置
if (array[from] == array[from - 1]) {
// 回退,找得首个不为9的位置
while (from >= 0 && array[from] == '9') {
from--;
}
// 如果第一位就是9,原数前面加一位1
if (from < 0) {
array = ('1' + String.valueOf(num)).toCharArray();
length++;
from = 1;
break;
}
array[from] = (char) (array[from] + 1);
// 如果改改后与上一位不同
if (array[from] != array[from - 1]) {
from = from + 1;
break;
}
} else {
from++;
}
}
// 如果原数无重复,则+1
if (from == length) {
num++;
array = String.valueOf(num).toCharArray();
length = array.length;
if (length > 1 && array[length - 2] == array[length - 1]) {
return getResult(num);
}
return num;
}
// 从改变位的下一位开始,0、1序列填充
char c = '0';
int s = '0' + '1';
for (; from < length; from++) {
array[from] = c;
c = (char) (s - c);
}
return Integer.valueOf(String.valueOf(array));
}
}
分享到:
相关推荐
十进制计数法规定每相邻两个计数单位间的进率是10。 4. **整数的意义和读写法**:整数包括正整数、零和负整数。读写整数时应从高位到低位,且连续的多个零只读一个。 5. **自然数**:自然数是表示物体个数的数,从...
- 每相邻两个计数单位之间的进率是10。 - 计数单位包括个、十、百、千等,数位则指每个计数单位所处的位置。 5. 整数的数位顺序表: - 包括亿级、万级和个级,从个位向左依次为个位、十位、百位、千位,直至千亿...
11. **组合数的大小**:在1, 3, 7, 9, 0这五个数字中,组成的最大两位数是97,最小的两位数是10,最接近70的两位数是71。此题考察了对数字大小的理解和组合排列。 12. **数字组合与排序**:使用3, 6, 5可以组成六个...
* 7÷÷(得数保留两位小数) * (商用循环小数表示) * (用两种方法验算) 简便方法计算 * ×73)×9×(7000÷63) * ×1.25 * ★÷457÷25÷×××10 * ★21÷1.25 * ★(8700+870+87)÷87 * ★×4.9+5×...
4. **两位数的概念**:学习最小的两位数是10,最大的两位数是99,以及如何根据个位和十位数字来读写数,比如42读作四十二,写作42。 5. **数的构成**:理解数字的组成,如4个十和8个一组成48,5个十是50。 6. **...
5. **整数大小比较**:比较两个多位数的大小,首先看位数,位数多的数较大;位数相同则比较最高位,再逐位比较直至分出大小。 6. **整除与除尽**:整除是指一个数a除以另一个数b(b不为0),得到的商是整数且无余数...
5. **整数比较**:比较两个多位数大小,先看位数,位数多的较大;位数相同则比较最高位,依次比较下一位,直至区分出大小。 6. **整除与除尽**:整除是指一个整数除以另一个非零整数,得到的是整数且无余数;除尽则...
这篇资料主要涵盖了六年级下册数学中的数的认识,包括自然数、整数、十进制计数法、整数的读法与写法、求近似数的方法、整数大小的比较、小数的定义、小数的读写、小数的性质以及小数点移动对数的影响等内容。...
5. **计数单位与十进制**:计数单位包括个、十、百、千等,每相邻两个单位间的进率是10,这种计数方法被称为十进制。例如,123表示1个百加2个十加3个一。 6. **数位与位置**:数字在数轴上的位置称为数位,每个数位...
- 数位上最大与最小的数:最大的一位数是9,最小的一位数是1。 2. 读数: - 读数时,应先分级,然后从高位到低位读,亿级、万级和个级分别读出。 - 数中间和末尾的零读法规则:中间不管有多少个零,只读一个;...
每个相邻的计数单位之间进率是10,如个位到十位是10,十位到百位也是10。 2. 数位与位数 七位数的最高位是百万位。 3. 计数单位与数值表示 4.3和4.30虽然数值相等,但4.3的计数单位是0.1,而4.30的计数单位是0.01...
2. **十进制计数法**:计数单位有“一”、“十”、“百”等,每相邻两个计数单位之间进率为10,例如10个一是十,10个十是百,以此类推。这是基本的计数系统。 3. **整数的读写**:读数和写数时,从高位开始,遵循级...
是小学数学六年级下册总复习的重要内容,涵盖了多个数学基础知识,包括自然数、整数、十进制计数法、整数的读写法、四舍五入法、比较整数大小、小数的概念及其读写、小数的性质、小数点移动规律、循环小数以及数的...
5. 末两位能被4或25整除的数,能被4或25整除。 6. 能被2整除的数称为偶数,不能被2整除的为奇数,0也被认为是偶数。 7. 质数是只有1和它本身两个因数的数,如2、3、5等;合数则有至少3个因数,如4、6、8等。1既不是...
其次,十进制计数法是日常生活和数学运算中最常用的计数系统,其中每相邻两个计数单位之间的进率是10。例如,10个一是十,10个十是百,以此类推。数位的不同决定了数字的大小,比如在数字684528563中,8位于千万位,...
每个级别有各自的计数单位,例如个、十、百、千等,且每相邻两个计数单位之间进率为10。 3. **十进制计数法**:这是最常见的计数方式,每个计数单位的值是其前一个计数单位的10倍,例如10个一是十,10个十是百。...
主要涵盖了整数、计数法、读写法、四舍五入、比较大小、整除与除尽、因数与倍数、能被特定数字整除的数的特征、偶数与奇数、质数与合数、质因数与分解质因数以及最大公因数和最小公倍数等多个概念。 1. **整数**:...
数级分为个级、万级和亿级,每相邻两个计数单位间的进率是10。 9. **近似值**:使用四舍五入法可以得到数的近似值,例如精确到万位或亿位时,只保留到万位或亿位前一位的数字,并根据四舍五入规则调整。 10. **...
5. 计数单位和十进制计数法:基本的计数单位是一(个),十进制计数法中每相邻两个计数单位之间进率为10,如10个一是十,10个十是百,以此类推。 6. 数位顺序表:整数部分由亿级、万级、个级组成,小数部分包括十分...