打印N位数字内的所有整数
程序员文章站
2022-03-13 13:46:34
...
这个题目看似非常简单,一个简单的循环即可实现。但其实有个坑,N位数字可能超出一般的int或long类型的长度,所有必须通过数组或字符串实现自定义大数字才可以实现。
package test;
import org.junit.Test;
public class BigNumber {
public void getBigNumberWithNByte(int n) {
int[] num = new int[n];
for (int i = 0; i < n; i++) {
num[i] = 0;
}
boolean carry = false;
while (!carry) {
carry = true;
for (int i = n-1; i >=0; i--) {
if (carry) {
num[i] += 1;
carry = false;
}
if (num[i] >= 10) {
num[i] -= 10;
carry = true;
}
}
printBigNumber(num);
}
}
public void printBigNumber(int[] num) {
boolean unstart = true;
for (int i = 0; i < num.length; i++) {
if (unstart && num[i] == 0) {
continue;
}
unstart = false;
System.out.print(num[i]);
}
System.out.println();
}
@Test
public void test() {
getBigNumberWithNByte(3);
}
}
上一篇: cocos2dx3.2 推断音效是否播放
下一篇: 自定义方法通过类名获取对象集合
推荐阅读
-
for循环练习 打印4面三角形,99乘法表 ,打印1-100内整数 数字包含9跳过 每行输出5个 用空格分隔,按照从大到小的顺序输出4位数中的个位+百位=十位+千位的数字及个数
-
书写一个程序,把变量n的初始值设置为1957,然后利用除法运算和取余运算把变量n的每一位数字都抽出来并打印
-
JAVA练习题四:计算第n个素数到第m个素数之间所有素数的和 以及 用拼音输出整数的每一位数字
-
打印所有水仙花数。所谓水仙花是指一个三位数,其个位数字的立方和等于该数
-
书写一个程序,把变量n的初始值设置为1957,然后利用除法运算和取余运算把变量n的每一位数字都抽出来并打印
-
PHP如何利用函数来反转数字,打印给定范围内的所有回文数
-
给定正整数N和集合K,求不大于N的,且每一位数字都在K中的最大值M,比如N=297,K={2,5,8},则返回288
-
打印N位数字内的所有整数
-
PHP如何利用函数来反转数字,打印给定范围内的所有回文数