一个正整数改写成2进制后,如果数字1的个数是偶数个,那么就称这个正整数是‘好数’.例如,正整数 6=(110

一个正整数改写成2进制后,如果数字1的个数是偶数个,那么就称这个正整数是‘好数’.例如,正整数 6=(110

题目
一个正整数改写成2进制后,如果数字1的个数是偶数个,那么就称这个正整数是‘好数’.例如,正整数 6=(110
上面没打完这里继续:就是一个‘好数’.将所有的‘好数’按小到大排列,第2010个是什么?
答案
#include
#define ORDER 2010
/**
* 判断指定的正整数是否为好数(二进制表示时有偶数位 1)
* @param dwSample 指定的正整数
* @return 指定的正整数是好数则返回非零,否则返回零
*/
int isGood(unsigned long dwSample) {
int iCount;
if (dwSample == 0) {
return 0;
}
/* 依次将每一位移动到最低位 */
for (iCount = 0; dwSample != 0; dwSample >>= 1) {
/* 最低位为 1 则计数 */
if (dwSample & 1) {
++iCount;
}
}
return (iCount % 2) == 0;
}
void main() {
unsigned long dw;
int iCount;
/* 在双字节正整数范围内寻找 */
for (iCount = 0,dw = 1; dw != 0; ++dw) {
if (isGood(dw)) {
++iCount;
if (iCount == ORDER) {
printf("Found:%d ! ",dw);
return;
}
}
}
printf("Failed! ");
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
热门考点

超级试练试题库

© 2017-2019 超级试练试题库,All Rights Reserved.