求数字特征值(C语言)
2016-03-31 20:08
330 查看
对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101。
代码:
#include <stdio.h>
#include <math.h>
int main()
{
int n,level=1,byte=1,sum=0,b;
scanf("%d",&n);
if(n>=0 && n<=100000){
b=n%10;
if(b%2)
sum=1;
while(n/10){
n/=10;
b=n%10;
level++;
if(b%2==level%2){
byte=pow(2,level-1);
sum+=byte;
}
}
printf("%d\n",sum);
}
return 0;
}
代码:
#include <stdio.h>
#include <math.h>
int main()
{
int n,level=1,byte=1,sum=0,b;
scanf("%d",&n);
if(n>=0 && n<=100000){
b=n%10;
if(b%2)
sum=1;
while(n/10){
n/=10;
b=n%10;
level++;
if(b%2==level%2){
byte=pow(2,level-1);
sum+=byte;
}
}
printf("%d\n",sum);
}
return 0;
}
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- ASP编码必备的8条原则
- XML指南——XML编码
- C#中字符串编码处理
- mysql binlog二进制日志详解
- ExtJS中文乱码之GBK格式编码解决方案及代码
- 程序员趣味读物 谈谈Unicode编码
- 文本文件编码方式区别
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法