`
lylegend13
  • 浏览: 82793 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

大于某数的相邻两位数不同的最小整数

    博客分类:
  • Java
 
阅读更多

题目地址: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));
	}
}
 
分享到:
评论

相关推荐

    六年级数学下册整数PPT课件.pptx

    十进制计数法规定每相邻两个计数单位间的进率是10。 4. **整数的意义和读写法**:整数包括正整数、零和负整数。读写整数时应从高位到低位,且连续的多个零只读一个。 5. **自然数**:自然数是表示物体个数的数,从...

    六年级数学总复习数的认识整数资料PPT教案学习.pptx

    - 每相邻两个计数单位之间的进率是10。 - 计数单位包括个、十、百、千等,数位则指每个计数单位所处的位置。 5. 整数的数位顺序表: - 包括亿级、万级和个级,从个位向左依次为个位、十位、百位、千位,直至千亿...

    青岛小学数学一年级下册以内数的认识练习PPT课件.pptx

    11. **组合数的大小**:在1, 3, 7, 9, 0这五个数字中,组成的最大两位数是97,最小的两位数是10,最接近70的两位数是71。此题考察了对数字大小的理解和组合排列。 12. **数字组合与排序**:使用3, 6, 5可以组成六个...

    六年级整数、小数的四则运算总复习题精选.doc

    * 7÷÷(得数保留两位小数) * (商用循环小数表示) * (用两种方法验算) 简便方法计算 * ×73)×9×(7000÷63) * ×1.25 * ★÷457÷25÷×××10 * ★21÷1.25 * ★(8700+870+87)÷87 * ★×4.9+5×...

    一年级数学下册第三单元测试题.doc

    4. **两位数的概念**:学习最小的两位数是10,最大的两位数是99,以及如何根据个位和十位数字来读写数,比如42读作四十二,写作42。 5. **数的构成**:理解数字的组成,如4个十和8个一组成48,5个十是50。 6. **...

    小学数学总复习:数的认识,知识点及练习.doc

    5. **整数大小比较**:比较两个多位数的大小,首先看位数,位数多的数较大;位数相同则比较最高位,再逐位比较直至分出大小。 6. **整除与除尽**:整除是指一个数a除以另一个数b(b不为0),得到的商是整数且无余数...

    小学数学总复习:数的认识,知识点与练习.doc

    5. **整数比较**:比较两个多位数大小,先看位数,位数多的较大;位数相同则比较最高位,依次比较下一位,直至区分出大小。 6. **整除与除尽**:整除是指一个整数除以另一个非零整数,得到的是整数且无余数;除尽则...

    新北师大六年级下册数学总复习数的认识大全PPT学习教案.pptx

    这篇资料主要涵盖了六年级下册数学中的数的认识,包括自然数、整数、十进制计数法、整数的读法与写法、求近似数的方法、整数大小的比较、小数的定义、小数的读写、小数的性质以及小数点移动对数的影响等内容。...

    小学数学概念大全.pdf

    5. **计数单位与十进制**:计数单位包括个、十、百、千等,每相邻两个单位间的进率是10,这种计数方法被称为十进制。例如,123表示1个百加2个十加3个一。 6. **数位与位置**:数字在数轴上的位置称为数位,每个数位...

    人教版小学四年级上册数学期末复习资料.pdf

    - 数位上最大与最小的数:最大的一位数是9,最小的一位数是1。 2. 读数: - 读数时,应先分级,然后从高位到低位读,亿级、万级和个级分别读出。 - 数中间和末尾的零读法规则:中间不管有多少个零,只读一个;...

    六年级数学总复习练习总复习1数的认识.doc

    每个相邻的计数单位之间进率是10,如个位到十位是10,十位到百位也是10。 2. 数位与位数 七位数的最高位是百万位。 3. 计数单位与数值表示 4.3和4.30虽然数值相等,但4.3的计数单位是0.1,而4.30的计数单位是0.01...

    冀教版数学六年级下册数与代数一数的认识课件PPT学习教案.pptx

    2. **十进制计数法**:计数单位有“一”、“十”、“百”等,每相邻两个计数单位之间进率为10,例如10个一是十,10个十是百,以此类推。这是基本的计数系统。 3. **整数的读写**:读数和写数时,从高位开始,遵循级...

    小学数学六年级下册总复习《数的认识》课件.pptx

    是小学数学六年级下册总复习的重要内容,涵盖了多个数学基础知识,包括自然数、整数、十进制计数法、整数的读写法、四舍五入法、比较整数大小、小数的概念及其读写、小数的性质、小数点移动规律、循环小数以及数的...

    小学数学数与代数知识点整理.doc

    5. 末两位能被4或25整除的数,能被4或25整除。 6. 能被2整除的数称为偶数,不能被2整除的为奇数,0也被认为是偶数。 7. 质数是只有1和它本身两个因数的数,如2、3、5等;合数则有至少3个因数,如4、6、8等。1既不是...

    六年级数学总复习数的认识资料PPT学习教案.pptx

    其次,十进制计数法是日常生活和数学运算中最常用的计数系统,其中每相邻两个计数单位之间的进率是10。例如,10个一是十,10个十是百,以此类推。数位的不同决定了数字的大小,比如在数字684528563中,8位于千万位,...

    北师六年级数学总复习数的认识PPT学习教案.pptx

    每个级别有各自的计数单位,例如个、十、百、千等,且每相邻两个计数单位之间进率为10。 3. **十进制计数法**:这是最常见的计数方式,每个计数单位的值是其前一个计数单位的10倍,例如10个一是十,10个十是百。...

    数的认识-知识点梳理参照.pdf

    主要涵盖了整数、计数法、读写法、四舍五入、比较大小、整除与除尽、因数与倍数、能被特定数字整除的数的特征、偶数与奇数、质数与合数、质因数与分解质因数以及最大公因数和最小公倍数等多个概念。 1. **整数**:...

    西师大六年级数学下册总复习数的认识PPT课件.pptx

    数级分为个级、万级和亿级,每相邻两个计数单位间的进率是10。 9. **近似值**:使用四舍五入法可以得到数的近似值,例如精确到万位或亿位时,只保留到万位或亿位前一位的数字,并根据四舍五入规则调整。 10. **...

    人教数学六年级下册总复习数的认识资料PPT教案.pptx

    5. 计数单位和十进制计数法:基本的计数单位是一(个),十进制计数法中每相邻两个计数单位之间进率为10,如10个一是十,10个十是百,以此类推。 6. 数位顺序表:整数部分由亿级、万级、个级组成,小数部分包括十分...

Global site tag (gtag.js) - Google Analytics