1013 - 奇怪的信
时间限制 : 1 秒
内存限制 : 32 MB
有一天, 小明收到一张奇怪的信, 信上要小明计算出给定数各个位上数字为偶数的和。
例如:5548,结果为12,等于 4 + 8 。
小明很苦恼,想请你帮忙解决这个问题。
题目输入
输入数据有多组。每组占一行,只有一个整整数,保证数字在32位整型范围内。
题目输出
对于每组输入数据,输出一行,每两组数据之间有一个空行。
输入/输出样例
输入格式
415326 3262
输出格式
12 10
C语言解答
#include<stdio.h> int main() { int n,t,s,a=0; while(scanf("%d",&n)!=EOF) { if(a++) printf("\n"); s=0; while(1) { t=n%10; if(t%2==0) s+=t; n/=10; if(n==0) break; } printf("%d\n",s); } return 0; }
C++解答
#include<stdio.h> int main() { int n,t,s,a=0; while(scanf("%d",&n)!=EOF) { if(a++) printf("\n"); s=0; while(1) { t=n%10; if(t%2==0) s+=t; n/=10; if(n==0) break; } printf("%d\n",s); } return 0; }
Java解答
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()){ char[] cs = in.nextLine().toCharArray(); int cou = 0; for(char c:cs) if(c%2==0) cou+=c-48; System.out.println(cou); System.out.println(); } } }
Python解答
import sys for line in sys.stdin: a = line.split()[0] list = [int(i) for i in a if int(i)%2==0 ] if len(list)!=0: print reduce(lambda x,y:x+y,list) print '' else: print 0 print ''