关于c:数字特征值

题目内容:
对数字求特征值是罕用的编码算法,奇偶特色是一种简略的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性雷同,则记下一个1,否则记下一个0。依照整数的程序把对应位的示意奇偶性的0和1都记录下来,就造成了一个二进制数字。比方,对于342315,这个二进制数字就是001101。

这里的计算能够用上面的表格来示意:


你的程序要读入一个非负整数,整数的范畴是[0,1000000],而后依照上述算法计算出示意奇偶性的那个二进制数字,输入它对应的十进制值。

提醒:将整数从右向左合成,数位每次加1,而二进制值每次乘2。

输出格局:
一个非负整数,整数的范畴是[0,1000000]。

输入格局:
一个整数,示意计算结果。

输出样例:
342315

输入样例:
13

include<stdio.h>

int main() {

int num,x,n,t;
int i=1;
int result=0;

scanf("%d",&num);

if(num>=0&&num<=1000000){
    for(n=1;n<7;n++){
            x=num%10;
            num=num/10;
            if(x%2==0&&n%2==0){
                t=1;
            }else if(x%2!=0&&n%2!=0){
                t=1;
            }else{
                t=0;
            }
            t=t*i;
            i=i*2;
            result=result+t;
    }
}

printf("%d",result);

return 0;

}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理