2024年第十五届蓝桥杯大赛软件类省赛C/C++大学B组真题——好数

题目:一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 · · · )上的数字是奇数,偶数位(十位、千位、十万位 · · · )上的数字是偶数,我们就称之为“好数”。给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。

由于题目中最高只有七位数,可以通过多少位数来分别判断:

#include<stdio.h>

int main()
{
    int  num1, count = 0, n = 0;
    scanf("%d", &num1);
    
    for (int num = 1; num <= num1; num++)
    {
        int num2 = num;
        while (num2)
        {
            num2 /= 10;
            count++;
        }
        if (count == 1)
        {
            if (num % 2 != 0) n++;
        }
        else if (count == 2)
        {
            if ((num % 10) % 2 != 0 && (num / 10) % 2 == 0) n++;
        }
        else if (count == 3)
        {
            if ((num % 10) % 2 != 0 && ((num / 10) % 10) % 2 == 0
### 关于2024蓝桥杯C语言B的信息 #### 比赛规则概述 对于参者而言,了解最新的比赛规则至关重要。通常情况下,蓝桥杯会提前公布详细的规则手册给各参学校和个人选手。该手册涵盖了考试形式、评分标准以及注意事项等内容[^1]。 #### 历史题解分析 回顾往的试题有助于预测可能遇到的问题型并制定有效的复习策略。例如,在第十届比赛中出现了涉及字符串处理、操作等多个知识点的考题;而到了2022,则增加了算法复杂度的要求,部分题目达到了国家级别的挑战水平[^2]。通过研究这些变化趋势可以更好地为即将到来的比赛做准备。 #### 备战建议与资源推荐 为了迎接更高层次的竞争环境,考生应该注重以下几个方面: - **基础知识巩固**:熟练掌握据结构(链表、栈队列)、基本算法设计模式(分治法、贪心算法)等核心概念。 - **编程实践训练**:多参与在线评测平台上的模拟测试活动,积累实战经验的同时提高代码质量。 - **历真题演练**:深入剖析历届优秀解答案例,学习他人解决问题的独特思路和技术手段[^3]. ```c // 示例:简单的快速排序实现用于练习基础技能 void quickSort(int arr[], int low, int high){ if (low < high){ /* pi is partitioning index */ int pi = partition(arr, low, high); // Recursively sort elements before and after partition quickSort(arr, low, pi - 1); quickSort(arr, pi + 1, high); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值