关于c:数字特征值

45次阅读

共计 621 个字符,预计需要花费 2 分钟才能阅读完成。

题目内容:
对数字求特征值是罕用的编码算法,奇偶特色是一种简略的特征值。对于一个整数,从个位开始对每一位数字编号,个位是 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;

}

正文完
 0