您的位置:首页 > 房产 > 家装 > 资阳网站seo_b2b2c商城的服务商_搜索seo是什么意思_百度保障客服电话

资阳网站seo_b2b2c商城的服务商_搜索seo是什么意思_百度保障客服电话

2025/11/6 3:00:03 来源:https://blog.csdn.net/2302_81561609/article/details/146541374  浏览:    关键词:资阳网站seo_b2b2c商城的服务商_搜索seo是什么意思_百度保障客服电话
资阳网站seo_b2b2c商城的服务商_搜索seo是什么意思_百度保障客服电话

1,好数

一个整数如果按从低位到高位的顺序,奇数位 (个位、百位、万位 ⋯⋯ ) 上的数字是奇数,偶数位 (十位、千位、十万位 ⋯⋯ ) 上的数字是偶数,我们就称之为 “好数”。

给定一个正整数 NN,请计算从 1 到 NN 一共有多少个好数。

法一:用position作为索引,用来表示当前位为偶数位还是奇数位。

#include <stdio.h>
#include <stdlib.h>_Bool isgoodnum(int x){int position=1;if(x==0){return 0;}while(x>0){int digit=x%10;if(position%2==1){if(digit%2!=1){return 0;}}else{if(digit%2!=0){return 0;}}x/=10;position++;}return 1;
}int main(int argc, char *argv[])
{// 请在此输入您的代码int n=0,ans=0;scanf("%d",&n);for(int i=0;i<=n;i++){if(isgoodnum(i)){ans++;}}printf("%d",ans);return 0;
}

法二:利用一个数为偶数(奇数)则个位数一定为偶数(奇数)的性质 ,可以不用单独获取             每一位数,只需要每次去除末位数即可。

#include <stdio.h>
#include <stdlib.h>_Bool isgoodnum(int x){if(x==0){return 0;}while(x>0){if(x%2!=1){return 0;}else{x/=10;if(x%2!=0){return 0;}else{x/=10;}}}return 1;
}int main(int argc, char *argv[])
{// 请在此输入您的代码int n=0,ans=0;scanf("%d",&n);for(int i=0;i<=n;i++){if(isgoodnum(i)){ans++;}}printf("%d",ans);return 0;
}

注:0需要被排除在外,因为它仅有一位数且为偶数。 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com