题解 | #小乐乐改数字#
小乐乐改数字
https://www.nowcoder.com/practice/fcd30aac9c4f4028b23919a0c649824d
#include <stdio.h> #include <math.h> int main() { int num,i=0,result=0; scanf("%d",&num); while(num!=0) { if(num%10%2!=0) //判断最低位是否为奇数,如果是,则加上10^i,i为位权 result+=pow(10,i); num/=10; i++; } printf("%d",result); }
逐位判断是否为奇数,是奇数就加上1*10^i,i为位权
可以手动模拟对123的处理过程:
初始,num=123,result = 0,i=0
第一轮结束后,num = 12,result = 1, i=1
第二轮结束后,num = 1,result = 1,i=2
第三轮结束后,num = 0, result = 101, i=3