发布网友 发布时间:2024-10-24 13:16
共2个回答
热心网友 时间:2024-11-04 11:39
void fun(long s,long *t)
{int d;
long s1=1; //表示处理到哪一位的权重,个位是1,十位是10,百位是100,...
*t=0; //结果清零
while(s>0)
{ d=s%10; // 去最低位
if(d%2!=0) // 如果是奇数
{*t=d*s1+*t; // d*s是当前位的加权数,加上已经处理的,就是新的结果
s1*=10; } // s1的权重乘10,得到下一个权重
s/=10; //剩余数据取模,进入下一个循环
}
}
热心网友 时间:2024-11-04 11:42
d=s%10 这是模10求余,对10进制数模10求余就是得到他的最低位,比如说123 % 10 = 3
循环下去可以得到10进制数的每一位
对于10进制数的每一位进行模2求余,可以判断奇偶
其他的自己理解吧