本文主要是介绍笔试强训-day17_T1 BC45 小乐乐改数字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、题目链接
BC45 小乐乐改数字
二、题目描述
小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。
输入描述:
输入包含一个整数n (0 ≤ n ≤ 109)
输出描述:
输出一个整数,即小乐乐修改后得到的数字。
示例1
输入:222222
输出:0
示例2
输入:123
输出:101
三、答案解析
算法思路
简单模拟过程
⼩技巧:题⽬虽然说输⼊⼀个数,但是我们可以把它当成字符串读进来,直接操作数字字符串岂不
是美滋滋~
编写代码
import java.util.Scanner;public class Test1 {public static void main(String[] args) {Scanner in = new Scanner(System.in);long n = in.nextLong();String s = Long.toString(n);StringBuilder stringBuilder = new StringBuilder();for (int i = 0; i < s.length(); i++) {if (Long.parseLong(Character.toString(s.charAt(i))) % 2 == 0) {stringBuilder.append(0);} else {stringBuilder.append(1);}}System.out.println(Long.parseLong(stringBuilder.toString()));}
}
import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);char[] s = in.next().toCharArray();for (int i = 0; i < s.length; i++) {if (s[i] % 2 == 0) s[i] = '0';else s[i] = '1';}// 处理⼀下前导零int i = 0;while (i < s.length - 1 && s[i] == '0') i++;while (i < s.length) {System.out.print(s[i++]);}}
}
这篇关于笔试强训-day17_T1 BC45 小乐乐改数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!