原题链接:蓝桥杯2024年第十五届省赛真题-好数
#include<stdio.h>
int main()
{
int n;
int d = 0;;
int u = 1;
int c = 0;
int i = 0;
scanf("%d", &n);
for (int a = 1;a <= n;a++)
{
i = 0; //用来判断好数,每次循环归零
u = 1; //因为最少有一位数
d = a; //用来防止a的数值改变
for (;d > 10;)
{
d /= 10;
u++; //u统计位数
}
d = a;
for (int w = 1;w <= u;w++)
{
if (w % 2 != 0 && d % 2 != 0) //判断好数
{
i++;
}
else if (w % 2 == 0 && d % 2 == 0) //只要判断奇数和偶数不用提取个位
{
i++;
}
d /= 10; //更换个位
}
if (u == i) //判断
{
c++; //统计好数
}
}
printf("%d", c); //输出
return 0;
}
10 分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复