卡码网编程基础课 | 9. 奇怪的信

问题描述

题目描述

有一天, 小明收到一张奇怪的信, 信上要小明计算出给定数各个位上数字为偶数的和。
例如:5548,结果为12,等于 4 + 8 。
小明很苦恼,想请你帮忙解决这个问题。

输入描述

输入数据有多组。每组占一行,只有一个整整数,保证数字在32位整型范围内。

输出描述

对于每组输入数据,输出一行,每组数据下方有一个空行。

输入示例
415326
3262
输出示例
12

10

python解法

while True:
    try:
        # 变量 n,用于存储输入的整数
        n = int(input())
        # 定义变量result,存储计算的结果
        result = 0
        # 对整数 n 的每一位进行处理,直到 n 变成0
        while n != 0:
            # 获取 n 的最后一位数字
            a = n % 10
            # 将整数 n 除以10,以便处理下一位数字
            n //= 10
            # 如果最后一位数字是偶数,相加
            if not (a % 2):
                result += a
        # 输出结果
        print(result)
        # 每次循环迭代之间输出一个空行
        print()
    except:
        break

C++解法

# include<iostream>
int main(){
    //  声明变量 n 和 a,用于存储输入的整数和中间计算的结果
    int n;
    //  读取输入的整数,并将其存储在变量 n
    while (std::cin >> n){
        //  定义变量result,存储计算结果
        int result = 0;
        //  对整数 n 的每一位进行处理,直到 n 变成0
        while (n != 0){
            // 获取 n 的最后一位数字
            int a = n % 10;
            //  将整数 n 除以10,以便处理下一位数字
            n /= 10;
            //  最后一位是否可以被2整除,如果可以,则是偶数,将其值累加到 result 中
            if (!(a % 2)) result += a;
        }
        // 输出结果
        std::cout << result << std::endl;
        //  每次循环迭代之间输出一个空行
        std::cout << std::endl;
    }
    
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值