蓝桥杯C/C++程序设计——特别数的和

题目描述

小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。

请问,在 1 到 n 中,所有这样的数的和是多少?

输入描述

输入格式:

输入一行包含两个整数 n(1≤n≤104)。

输出描述

输出一行,包含一个整数,表示满足条件的数的和。

输入输出样例

示例

输入

40

输出

574

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

总通过次数: 19015  |  总提交次数: 19790  |  通过率: 96.1%

难度: 简单   标签: 2019, 暴力, 枚举, 省赛

解题过程

#include <iostream>
using namespace std;
int tmp(int a)
{int k=0,s=0;for(int j=a;j!=0;j=j/10){k=j%10;if(k==2||k==0||k==1||k==9){s++;}}return s;
}
int main()
{// 请在此输入您的代码int n;cin>>n;int sum=0,k=0;for(int i=1;i<=n;i++){if(tmp(i)!=0){sum=sum+i;}}cout<<sum;return 0;
}

 注意事项

 在编写这个代码过程中,我们应该注意的是,如何将一个数字的个、十、百、千等等拆分出来,进行判断,并且在判断的过程中如果一个数字的不同位置出现了2个或2个以上的题目要求的数字,怎么办,避免重复相加。

  1. 函数 tmp(int a):

    int tmp(int a)
    {int k=0,s=0;for(int j=a;j!=0;j=j/10){k=j%10;if(k==2||k==0||k==1||k==9){s++;}}return s;
    }
    

    这个函数用于计算整数 a 中包含多少个数字 0、1、2 或 9。该函数包含以下部分:

    • 变量初始化:初始化变量 k 和 s,分别用于存储每个数字和计数。
    • 循环:从个位开始循环拆分数字,循环条件是 j 不等于 0,每次循环结束更新 j 的值为 j/10。
    • 数字判断:通过取余运算获取每次循环中的个位数字 k,然后判断 k 是否为 0、1、2 或 9,如果满足条件则计数器 s 自增。
    • 返回结果:返回计数器 s 的值作为函数的返回值。
  2. 主程序 main():

    int main()
    {int n;cin>>n;int sum=0,k=0;for(int i=1;i<=n;i++){if(tmp(i)!=0){sum=sum+i;}}cout<<sum;return 0;
    }
    

    这个主程序实现了以下功能:

    • 输入:从标准输入流中获取一个整数 n,用于确定循环范围。
    • 变量初始化:初始化变量 sum 和 k 为 0,分别用于存储满足条件的数字之和和临时变量。
    • 循环:从 1 开始循环到 n,循环条件是 i 小于等于 n,每次循环结束更新 i 的值加一。
    • 条件判断:对每个数 i 调用 tmp() 函数,判断返回值是否不等于 0,如果满足条件则将当前数 i 累加到 sum 中。
    • 输出:将 sum 输出到标准输出流中。
    • 返回结果:返回 0,表示程序正常结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/311456.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitHub 一周热点汇总 第3期 (2023/12/24-12/30)

GitHub一周热点汇总第三期 (2023/12/24-12/30)&#xff0c;梳理每周热门的GitHub项目&#xff0c;了解热点技术趋势&#xff0c;掌握前沿科技方向&#xff0c;发掘更多商机。元旦就要到了&#xff0c;提前祝大家新年快乐。 #1 StreamDiffusion 项目名称&#xff1a;StreamDiff…

vue项目表单使用正则过滤ip、手机号

import useFormValidate from /hooks/useFormValidatesetup(props, { emit }) {const { validateName, validateIPAndPort } useFormValidate()const state reactive({workFaceInfo: props.info?.id ? props.info : {},sysTypeData: props.sysType,formRules: {name: [{req…

wsl中的Ubuntu安装远程桌面

wsl Ubuntu默认只能打开命令行&#xff0c;看不到图形化界面&#xff0c;有些操作不方便。这里介绍两种方法来远程连接到wsl里 VNC 因为win10的wsl不支持systemd&#xff0c; 所以这种方式只能是Windows11的系统&#xff0c;Window10只能用xrdp 1、禁用WSLg 在c:\users\用户…

12.31_黑马数据结构与算法笔记Java

目录 345 设计跳表 Leetcode 1206 346 设计最小栈 Leetcode 155 347 设计端网址 Leetcode 355 348 设计推特 Leetcode 355 349 股票系列问题 Leetcode 121 350 股票系列问题 Leetcode 122 351 股票系列问题 Leetcode 714 352 股票系列问题 Leetcode 309 353 股票系列问…

【Redis-10】Redis集群的实现原理和实践

Redis集群是Redis提供的分布式数据库方案&#xff0c;通过分片来进行数据共享&#xff0c;实现复制和故障转移的功能。 1. Redis集群节点 一个Redis集群由多个节点组成&#xff0c;多个节点可以通过命令实现连接&#xff0c;由独立状态转为集群状态&#xff0c;命令是cluster …

LabVIEW开发智能火灾自动报警系统

LabVIEW开发智能火灾自动报警系统 系统基于LabVIEW虚拟仪器开发&#xff0c;由火灾报警控制器、感温感烟探测器、手动报警器、声光报警器、ZigBee无线通讯节点以及上位机电脑等组成&#xff0c;展示了LabVIEW在智能化火灾预警与控制方面的应用。该系统通过结合二总线协议和Zig…

动态规划10-多重背包

题目描述 有N种物品和一个容量为V 的背包。第i种物品最多有Mi件可用&#xff0c;每件耗费的空间是Ci &#xff0c;价值是Wi 。求解将哪些物品装入背包可使这些物品的耗费的空间 总和不超过背包容量&#xff0c;且价值总和最大。 思路分析 区别于完全背包和简单的01背包问题&…

天擎离线升级工具使用说明

免责声明 本文旨在提供信息和解决问题的建议&#xff0c;观点和建议可能不适用于个人情况&#xff0c;仅供参考&#xff01;&#xff01;&#xff01; 文章中所有敏感信息已经修改&#xff0c;对于因本文中提供的信息而导致的任何直接或间接损失或损害不承担责任。 使用本文中的…

【C++】STL 容器 - multiset 容器 ( std::multiset 容器简介 | std::multiset 容器 常用操作 api 简介 )

文章目录 一、mulset 容器1、std::multiset 容器简介2、代码示例 - multiset 容器 二、std::multiset 容器 常用操作 api 简介1、常用 api 简介2、代码示例 - multiset 容器常用操作 一、mulset 容器 1、std::multiset 容器简介 在 C 语言 的 标准模板库 ( STL , Standard Temp…

街道洗扫车VR虚拟仿真展示创新了培训方式

吸污车用于收集处理城市中的污水、污泥&#xff0c;起到疏通管道的作用&#xff0c;特别是洪涝灾害时是重要的清理工具。吸污车由于内部结构复杂、工艺原理繁琐且造价成本高&#xff0c;因此传统的吸污车作业培训难以达到满意效果。VR虚拟仿真技术的出现&#xff0c;给企业提供…

多线程编程设计模式(单例,阻塞队列,定时器,线程池)

&#x1f495;"只有首先看到事情的可能性&#xff0c;才会有发生的机会。"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;多线程编程设计模式(单例,阻塞队列,定时器,线程池) 本文主要讲解多线程编程中常用到的设计模式,包括单例模式,阻塞队列,定时…

2023年度总结——我关注的技术界大事回顾

2023年发生了那么多新闻事件&#xff0c;作为程序员更关注哪些事件呢&#xff0c;这些事件又能引起什么人生感触呢&#xff0c;在这篇文章中你将看到我的想法&#xff0c;那你有什么想法呢 2023技术大事回顾 跟你说话的不一定是人——ChatGPT4开启人工智能新篇章 2023年3月15…