第十五届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组

试题 **C:**好数

时间限制 : 1.0s 内存限制: 256.0MB 本题总分:10 分

【问题描述】

一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 · · · )上 的数字是奇数,偶数位(十位、千位、十万位 · · · )上的数字是偶数,我们就称 之为"好数"。 给定一个正整数 N ,请计算从 1 到 N 一共有多少个好数。 【输入格式】
一个整数 N
【输出格式】
一个整数代表答案。
【样例输入 1
24
【样例输出 1
7
【样例输入 2
2024
【样例输出 2
150
【样例说明】
对于第一个样例, 24 以内的好数有 1 、 3 、 5 、 7 、 9 、 21 、 23 ,一共 7 个。
【评测用例规模与约定】
对于 10 % 的评测用例, 1 ≤ N ≤ 100 。
对于 100 % 的评测用例, 1 ≤ N ≤ 10 7 。

cpp 复制代码
#include <iostream>
using namespace std;
bool isGoodNumber(int num) {
    int digit = 1;
    while (num > 0) {
        int current_digit = num % 10;
        if ((digit % 2 == 1 && current_digit % 2 == 0) || (digit % 2 == 0 && current_digit % 2 == 1)) {
            return false;
        }
        num /= 10;
        digit++;
    }
    return true;
}
int main() {
    int N;
    cin >> N;
    int count = 0;
    for (int i = 1; i <= N; i++) {
        if (isGoodNumber(i)) {
            count++;
        }
    }
    cout << count << endl;
    return 0;
}

试题 D: R格式

时间限制 : 1.0s 内存限制: 256.0MB 本题总分:10 分

【问题描述】

小蓝最近在研究一种浮点数的表示方法: R 格式。对于一个大于 0 的浮点
d ,可以用 R 格式的整数来表示。给定一个转换参数 n ,将浮点数转换为 R
格式整数的做法是: 1. 将浮点数乘以 2 n ; 2. 四舍五入到最接近的整数。
【输入格式】
一行输入一个整数 n 和一个浮点数 d ,分别表示转换参数,和待转换的浮点数。
【输出格式】
输出一行表示答案:d用 R 格式表示出来的值。
【样例输入】
2 3.14
【样例输出】
13
【样例说明】
3 . 14 × 2 2 = 12 . 56 ,四舍五入后为 13 。
【评测用例规模与约定】
对于 50 % 的评测用例: 1 ≤ n ≤ 10 , 1 ≤ 将 d 视为字符串时的长度 ≤ 15 。
对于 100 % 的评测用例: 1 ≤ n ≤ 1000 , 1 ≤ 将 d 视为字符串时的长度 ≤ 1024 ;保证 d 是小数,即包含小数点。

cpp 复制代码
#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int n;
    double d;
    cin >> n >> d;
    int result = round(d * pow(2, n));
    cout << result << endl;
    return 0;
}
相关推荐
小郭团队10 分钟前
1_6_五段式SVPWM (传统算法反正切+DPWM2)算法理论与 MATLAB 实现详解
嵌入式硬件·算法·matlab·dsp开发
小郭团队18 分钟前
1_7_五段式SVPWM (传统算法反正切+DPWM3)算法理论与 MATLAB 实现详解
开发语言·嵌入式硬件·算法·matlab·dsp开发
鱼跃鹰飞21 分钟前
Leetcode347:前K个高频元素
数据结构·算法·leetcode·面试
bybitq22 分钟前
LeetCode236-二叉树的最近公共祖先(LCA)问题详解-C++
算法·深度优先
C+-C资深大佬38 分钟前
C++风格的命名转换
开发语言·c++
啊阿狸不会拉杆38 分钟前
《数字图像处理》第 7 章 - 小波与多分辨率处理
图像处理·人工智能·算法·计算机视觉·数字图像处理
No0d1es40 分钟前
2025年粤港澳青少年信息学创新大赛 C++小学组复赛真题
开发语言·c++
点云SLAM44 分钟前
C++内存泄漏检测之手动记录法(Manual Memory Tracking)
开发语言·c++·策略模式·内存泄漏检测·c++实战·new / delete
好评1241 小时前
【C++】二叉搜索树(BST):从原理到实现
数据结构·c++·二叉树·二叉搜索树
zylyehuo1 小时前
error: no matching function for call to ‘ros::NodeHandle::param(const char [11], std::string&, const char [34])’
c++·ros1