C语言程序设计_zju——第4周编程练习2_数字特征值

2

数字特征值(5分)

题目内容:

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

这里的计算可以用下面的表格来表示:


数字


3


4


2


3


1


5


数位


6


5


4


3


2


1


数字奇偶








数位奇偶








奇偶一致


0


0


1


1


0


1


二进制位值


32


16


8


4


2


1

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

提示:将整数从右向左分解,数位每次加1,而二进制值每次乘2。

 

输入格式:

一个非负整数,整数的范围是[0,1000000]。

输出格式:

一个整数,表示计算结果。

输入样例:

342315

输出样例:

13

时间限制:500ms内存限制:32000kb

 1 #include<stdio.h>
 2 int main(){
 3     int num,dicN,binN,single,twoN=1,i=1,tenN=1;
 4     scanf("%d",&num);
 5     int temp=num;
 6     for(;(temp/tenN)!=0;i++){
 7         single=num%10;//printf("single=%d\n",single);
 8         binN=!((single%2)^(i%2));
 9         dicN+=binN*twoN;
10         twoN*=2;
11         tenN*=10;
12         num=temp/tenN;
13     }
14     printf("%d\n",dicN);
15     return 0;
16 } 

about 50min

题目来源

程序设计入门——C语言_浙江大学_中国大学MOOC(慕课) http://www.icourse163.org/course/ZJU-199001

原文地址:https://www.cnblogs.com/gleamer/p/cweek4exercise2.html

时间: 2024-08-19 02:03:44

C语言程序设计_zju——第4周编程练习2_数字特征值的相关文章

C语言程序设计_zju——第3周编程练习1_时间换算

1 时间换算(5分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千位部分:如果小时是0,则没有百位部分:如果小时不是0而分小于10分,需要保留十位上的0:如果小时是0而分小于10分的,则不需要保留十位上的0.如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分. 有效的输入范围是0到2359,即你的程序不可能从

C语言程序设计进阶 第1周编程题

第1周编程题 查看帮助 返回 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 1 字符串比对(10分) 题目内容: 题目说起来很简单,你会读到两个字符串,每个字符串占据一行,每个字符串的长度均小于10000字符,而且第一个字符串的长度小于第二个字符串的.你的程序要找出第一个字符串在第二个字符串中出现的位置,输出这些位置,如果找不到

中国大学MOOC | C语言程序设计入门 第8周编程练习 翁恺

1 单词长度(4分) 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束.你要输出这行文本中每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4.注意,行中可能出现连续的空格. 输入格式: 输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内. 输出格式: 在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格. 输入样例: It's great to see you here

程序设计入门——C语言 第3周编程练习 2 数字特征值(5分)

2 数字特征值(5分) 题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0.按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字.比如,对于342315,这个二进制数字就是001101. 这里的计算可以用下面的表格来表示: 数字 3 4 2 3 1 5 数位 6 5 4 3 2 1 数字奇偶

网易云课堂_C语言程序设计进阶_第一周:数据类型:整数类型、浮点类型、枚举类型

C语言程序设计进阶_第一周:数据类型:整数类型.浮点类型.枚举类型 1.0数据类型 1.1整数类型 1.2浮点类型 1.3逻辑类型 1.4类型转换和条件运算 1.0数据类型 1 整数 char(%c), short, int(%d), long(%ld), long long(C99) 2 浮点数 float(%f), double(%lf), long double(C99) 3 逻辑 bool(C99) 4 指针 5 自定义类型 所表达的数的范围:char<short<int<flo

c语言程序设计第3周编程作业(数字特征)

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

C语言程序设计II—第十周教学

第十周教学总结(29/4-5/5) 教学内容 本周的教学内容为:9.2 学生成绩排序 知识点:结构数组的定义.初始化和数组成员引用:9.3 修改学生成绩 知识点:结构指针指向操作,结构指针作为函数参数.重点难点:结构数组的概念以及结构数组成员的引用方式,结构指针的概念,以及通过结构指针变量间接访问数据的方式,特别是通过对比介绍结构指针指向运算符"->"的使用方法. 教学目标:要求学生能够使用结构数组进行熟练编程,掌握结构指针的操作,并应用于函数参数传递. 课前准备 在博客园发布作

C语言程序设计II—第十一周教学

第十一周教学总结(6/5-12/5) 教学内容 本周的教学内容为:10.1 知识点:多个函数构成的程序结构.10.2 递归函数.10.3编译预处理概念,包括文件.宏的内容.10.4 多文件模块的学生信息系统,展示大程序的构成. 教学目标:要求学生能够对相对复杂的问题,合理定义程序的多函数结构:能够使用递归函数进行编程:掌握宏的基本用法:掌握编译预处理的概念. 课前准备 在博客园发布作业:2019春第十一周作业 课堂设计 课程内容较多,逐个知识点略微展开演示讲解.重点讲解递归函数和编译预处理.多文

广东海洋大学 电子1151 孔yanfei python语言程序设计 第十二周

八.SVM的实现之SMO算法 终于到SVM的实现部分了.那么神奇和有效的东西还得回归到实现才可以展示其强大的功力.SVM有效而且存在很高效的训练算法,这也是工业界非常青睐SVM的原因. 也就是说找到一组αi可以满足上面的这些条件的就是该目标的一个最优解.所以我们的优化目标是找到一组最优的αi*.一旦求出这些αi*,就很容易计算出权重向量w*和b,并得到分隔超平面了. 这是个凸二次规划问题,它具有全局最优解,一般可以通过现有的工具来优化.但当训练样本非常多的时候,这些优化算法往往非常耗时低效,以致