首页 > 其他分享 >蓝桥杯试题 基础练习 特殊回文数

蓝桥杯试题 基础练习 特殊回文数

时间:2024-03-27 19:29:55浏览次数:24  
标签:五位数 10 试题 int sum 六位数 蓝桥 num 回文

问题描述

  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

输入格式

  输入一行,包含一个正整数n。

输出格式

  按从小到大的顺序输出满足条件的整数,每个整数占一行。

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

  1<=n<=54。

 首先定义一个计算每位数之和的函数

int sumOfDigits(int num) {
    int sum = 0;
    while (num > 0) {
        sum += num % 10;
        num /= 10;
    }
    return sum;
}

要求输出符合要求的五位数和六位数,分开讨论

int main() {
    int n;
    cin >> n;

    // 遍历五位数和六位数
    for (int i = 10000; i <= 999999; ++i) {
        if (i < 100000) { // 五位数
            if (sumOfDigits(i) == n && i / 10000 == i % 10 && (i/1000)%10 == (i/10)%10) {
                cout << i <<endl;
            }
        } else { // 六位数
            if (sumOfDigits(i) == n && i / 100000 == i % 10 && (i / 10000) % 10 == (i / 10) % 10 && (i /1000)%10 == (i/100)%10) {
                cout << i << endl;
            }
        }
    }

    return 0;
}

完整代码

#include<iostream>

using namespace std;


int sumOfDigits(int num) {
    int sum = 0;
    while (num > 0) {
        sum += num % 10;
        num /= 10;
    }
    return sum;
}

int main() {
    int n;
    cin >> n;

    // 遍历五位数和六位数
    for (int i = 10000; i <= 999999; ++i) {
        if (i < 100000) { // 五位数
            if (sumOfDigits(i) == n && i / 10000 == i % 10 && (i/1000)%10 == (i/10)%10) {
                cout << i <<endl;
            }
        } else { // 六位数
            if (sumOfDigits(i) == n && i / 100000 == i % 10 && (i / 10000) % 10 == (i / 10) % 10 && (i /1000)%10 == (i/100)%10) {
                cout << i << endl;
            }
        }
    }

    return 0;
}

标签:五位数,10,试题,int,sum,六位数,蓝桥,num,回文
From: https://blog.csdn.net/m0_71041937/article/details/137086805

相关文章

  • 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第6题题解
    目录问题描述:方法一:dfs暴力模拟(45%)方法二:dfs剪枝(100%)问题描述:        小蓝正在一个瓜摊上买瓜。瓜摊上共有n个瓜,每个瓜的重量为Ai。小蓝刀功了得,他可以把任何瓜劈成完全等重的两份,不过每个瓜只能劈一刀。小蓝希望买到的瓜的重量的和恰好为m。请问小蓝至......
  • 蓝桥杯单片机AT24C02
    一个简单的示例程序,统计开机次数。代码如下:#include<STC15F2K60S2.H>#include<intrins.h>#include"onewire.h"#include"iic.h"u8flag_display=0;u8flag_ds18b20=0;u8flag_at=0;u8at=0;u8temp=0;u8a[8]={10,10,10,10,10,10,10,10};voidctr......
  • 动态规划刷题(算法竞赛、蓝桥杯)--数字三角形(线性DP)
    1、题目链接:[USACO1.5][IOI1994]数字三角形NumberTriangles-洛谷#include<bits/stdc++.h>usingnamespacestd;intr;constintN=1010;inta[N][N];intmain(){ cin>>r; for(inti=1;i<=r;i++){ for(intj=1;j<=i;j++){ cin>>a[i][j]; ......
  • LeetCodeHot100 链表 160. 相交链表 206. 反转链表 234. 回文链表 141. 环形链表
    160.相交链表https://leetcode.cn/problems/intersection-of-two-linked-lists/description/?envType=study-plan-v2&envId=top-100-likedpublicListNodegetIntersectionNode(ListNodeheadA,ListNodeheadB){intlenA=0;intlenB=0;L......
  • 【蓝桥杯3.23小白赛】(详解)
    第一题签到题不多说【二进制王国】#include<iostream>#include<vector>#include<algorithm>usingnamespacestd;//intCmp(strings1,strings2)测试了一下时间差确实很明显,还是用下面的内个intCmp(conststring&s1,conststring&s2)//const修饰表示在函......
  • 【蓝桥杯选拔赛真题48】C++九进制回文数 第十四届蓝桥杯青少年创意编程大赛 算法思维
    目录C++九进制回文数一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析七、推荐资料C++九进制回文数第十四届蓝桥杯青少年创意编程大赛C++选拔赛真题一、题目要求1、编程实现提示信息:回文数:反向排列与原......
  • 蓝桥杯练习题总结(三)线性dp题(摆花、数字三角形加强版)
    目录 一、摆花思路一: 确定状态:初始化:思路二:确定状态:初始化:循环遍历: 状态转移方程: 二、数字三角形加强版一、摆花题目描述小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了......
  • zookeeper面试题
    文章目录ZooKeeper是什么?ZooKeeper提供什么?1.文件系统2.通知机制ZooKeeper文件系统四种类型的znode1.PERSISTENT(持久化目录节点)2.PERSISTENT_SEQUENTIAL(持久化顺序编号目录节点)3.EPHEMERAL(临时目录节点)4.EPHEMERAL_SEQUENTIAL(临时顺序编号目录节点......
  • 扫地机器人 二分答案,贪心 蓝桥杯
    二分答案与二分查找类似,二分查找有一个前提就是数列要求是有序的,二分答案则是要求满足条件的答案是单调有序的,它的基本思想是在答案可能的范围([L,R])内二分查找答案,不断检查当前答案是否满足题目的要求,根据检查结果更新查找的区间,最终取得最符合题目要求的答案进行输出。......
  • 面试题:在百万keys的Redis里面,如何模糊查找某个key.
    面试题:在百万keys的Redis里面,如何模糊查找某个key.在百万级别的Redis数据库中,进行模糊查找某个key时,需要注意查询效率和对Redis服务器性能的影响。以下是一些建议和方法:1.使用SCAN命令代替KEYS由于KEYS命令在大规模数据集上执行时会阻塞Redis服务器,并可能导致严重......