测试面试题
此模块致力于我遇到过的面试题,希望可以给大家带来帮助!!!
偶数和奇数
编写程序,使其满足:
- 使用键盘输入一个正数。确定输入数字中的偶数和奇数的数量。
- 如果一个数字可被 2 整除而没有余数(即,余数为零),则该数为偶数。
- 然后,我们将偶数计数器(static 变量 even)加 1。
- 否则,该数为奇数,我们将增加奇数计数器(static 变量 odd)。
- 显示以下消息:“偶数:a 奇数:b”,其中 a 为偶数的数量,b 为奇数的数量。
例如,对于 4445:
偶数:3 奇数:1
Python
class Solution:
def __init__(self):
self.even = 0 # 偶数
self.odd = 0 # 奇数
def solution_main(self):
# 从键盘获取数值
n = str(input())
# 将从键盘获取的数值分割成为单个数值的列表
input_n = list(n)
# 偶数 | 奇数 ?
for i in input_n:
if int(i) % 2 == 0:
self.even += 1
else:
self.odd += 1
print(f'偶数:{self.even} 奇数:{self.odd}')
if __name__ == '__main__':
Solution = Solution()
Solution.solution_main()
Java
package main;
import java.io.*;
public class Solution {
public static int even; // 偶数
public static int odd; // 奇数
public static void main(String[] args) throws IOException {
// 从键盘获取数值
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input_n = reader.readLine();
String[] arr;
// 将从键盘获取的数值分割成为单个数值的列表
arr = input_n.split("");
// 偶数 | 奇数 ?
for (String s : arr) {
if (Integer.parseInt(s) % 2 == 0) {
even++;
} else {
odd++;
}
}
System.out.println("偶数:" + even + " " + "奇数:" + odd);
}
}
GO
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
// 从键盘输入数值
var n string
_, _ = fmt.Scanln(&n)
even := 0 // 偶数
odd := 0 // 奇数
// 将数值进行分割
arr := strings.Split(n, "")
// 偶数 | 奇数 ?
for i:=0; i< len(arr);i++ {
nS, _ := strconv.Atoi(arr[i])
if nS % 2 == 0 {
even++
} else {
odd++
}
}
fmt.Printf("偶数:%d 奇数:%d", even, odd)
}