基础算法练习
2017-11-02 22:40
183 查看
题目:随机生成一个从0~10000的数字,如果不足5位,请用0来补上
比如 235 变成00235
我的思路:从左往右取得数字,
如果不为0,就说明我们已经得到了所有的需要补的0的个数,
不然就表示个数的变量自增1
说起来抽象,直接上代码
public static void showN() {
Random rand = new Random();
int n = rand.nextInt(10000);
System.out.println(n);
int c;
int count = 0;
// 算出需要多少0
for (int i = 5; i >= 1; i--) {
// 从左往右算,看当前位数所在的数是否为0
// 不为0的话就跳出,不然就说明当前是0,表示0的常量就++
if (n / Math.pow(10, i - 1) % 10 != 0) {
// System.out.println(n/c%10+"i/c"+n/c);
break;
} else {
count++;
}
}
// 求出需要的0的个数后,弄上去
String result = "";
for (int i = 0; i < count; i++) {
result += "0";
}
System.out.println(result + n);
}
比如 235 变成00235
我的思路:从左往右取得数字,
如果不为0,就说明我们已经得到了所有的需要补的0的个数,
不然就表示个数的变量自增1
说起来抽象,直接上代码
public static void showN() {
Random rand = new Random();
int n = rand.nextInt(10000);
System.out.println(n);
int c;
int count = 0;
// 算出需要多少0
for (int i = 5; i >= 1; i--) {
// 从左往右算,看当前位数所在的数是否为0
// 不为0的话就跳出,不然就说明当前是0,表示0的常量就++
if (n / Math.pow(10, i - 1) % 10 != 0) {
// System.out.println(n/c%10+"i/c"+n/c);
break;
} else {
count++;
}
}
// 求出需要的0的个数后,弄上去
String result = "";
for (int i = 0; i < count; i++) {
result += "0";
}
System.out.println(result + n);
}
相关文章推荐
- 【算法学习笔记】11.数据结构基础 二叉树初步练习4
- 算法-蓝桥杯-基础练习 杨辉三角形(JAVA)
- 【算法学习笔记】07.数据结构基础 链表 初步练习
- Java蓝桥杯基础算法练习-01字串
- 若干经典基础算法题目练习
- 算法基础——2.7练习(通信编码、格式检查问题)
- 【算法学习笔记】07.数据结构基础 链表 初步练习
- 【算法学习笔记】10.数据结构基础 二叉树初步练习3(遍历与递归复习)
- 算法基础——2.7练习
- C++基础算法练习之排序比较
- 【算法学习笔记】10.数据结构基础 二叉树初步练习3(遍历与递归复习)
- 算法-蓝桥杯- 基础练习 闰年判断 (JAVA)
- 算法-蓝桥杯-基础练习 十六进制转十进制(JAVA)
- 蓝桥杯-基础练习-大数算法
- 【算法学习笔记】08.数据结构基础 二叉树初步练习1
- 【基础练习】【二分图匹配】【匈牙利算法】codevs1022 覆盖题解
- 算法-蓝桥杯-基础练习 数列特征(JAVA)
- 动态规划-背包的基础上进行模拟 2018年全国多校算法寒假训练营练习比赛(第二场)牛客网B题
- 算法(第四版)1.1基础编程模型练习1.1.1-1.1.8
- Coursera_程序设计与算法_计算导论与C语言基础_数组应用练习