判断数a的奇偶性,如果是奇数,则把数a中的偶数位全部改成0;如果是偶数,则把数a中的奇数位全部改成0
例如:12211是奇数,修改后就变成了10201;4212是偶数,修改后就变成了4010
现在给你n个数字a1…an,请你计算∑i=1nMx(ai)
输入格式:
第一行给出一个整数n(0⩽n⩽100)
第二行给出n个整数ai(0⩽ai⩽105)
输出格式:
一个整数,表示∑i=1nMx(ai)的值
输入样例:
在这里给出一组输入。例如:
2
12211 4212
输出样例:
在这里给出相应的输出。例如:
14211
思路:
从各位开始(第一位)遍历:
1.对奇数:奇数位的数按原来大小相加(各位乘以1,十位乘以10,百位乘以100.....),偶数位跳过不加(即为0)
2.对偶数:偶数位的数按原来大小相加(各位乘以1,十位乘以10,百位乘以100.....),奇数位跳过不加(即为0)
参考代码如下:
#include<stdio.h>
int main()
{int n;scanf("%d",&n);int s=0;for(int i=0;i<n;i++){aint a,c=1,bei=1; //c表示位数(个位为1,十位为2,依次累加)scanf("%d",&a);if(a%2==0){while(a){if(c%2==0){s+=a%10*bei;}a=a/10;bei=bei*10; //bei表示位数上的级别(个位为1,十位为10,依次乘10)c++;}}else{while(a){if(c%2!=0){s+=a%10*bei;}a=a/10;bei=bei*10;c++;}}}printf("%d",s);return 0;
}