数字求特征值

来源:互联网 发布:搞笑的日剧 知乎 编辑:程序博客网 时间:2024/04/30 06:08

题目:对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101。最后转成十进制输出。

#include<stdio.h>

#include<stdlib.h>
#include<math.h>
int main(){
int i,k,m,sum,t[i],n;
sum=0;
i=1;
scanf("%d",&n);
while(n>0&&n<100000){
t[i]=n%10;
if(t[i]%2==i%2)k=1;
else k=0;
m=pow(2,i-1);
   sum=sum+k*m;
n=n/10;
i++;
if(n==0)break;
}
printf("%d",sum);
return 0;
}
0 0
原创粉丝点击