P8680 [蓝桥杯 2019 省 B] 特别数的和:做题笔记

目录

思路 

代码


题目链接:

P8680 [蓝桥杯 2019 省 B] 特别数的和

思路 

最开始我思路主要是从数字转字符串上想的。因为我们需要判断每一位是否是特殊数,字符串很容易做到这一点,只是在数字相加这一步不好实现。

需要用到字符串与数字的转化知识。

写这篇文章也主要是想记住这个知识(而不是注重这道题了)

头文件#include<string> 

数字转字符串:string a=to_string(x)

字符串转数字:int b=stoi(x)

只是devc++里不能直接用这个函数

如何在Dev-Cpp中使用C++11中的函数:stoi、to_string、unordered_map、unordered_set、auto

这个博主讲了办法,可以解决这个问题

也不麻烦,可以调一下。

我的思路是for循环从1开始遍历到n,循环内部:

①将每次的数字转化成字符串,计算字符串长度。这里一定注意先转字符串,之后直接利用string类型内置size()函数计算字符串长度也就是数字位数。如果想先算位数,不能用sizeof(x)直接计算,因为在转字符串之前,数字是int类型的,sizeof计算出来是int类型的大小

计算位数是想使用switch函数,处理不同位数的情况。

②使用switch函数,针对每一种情况,判断每一位是否是我们的特殊数字。这里注意switch每一种情况后都要加break 

这里就不放我的代码了,这种写法写的太麻烦了😂


另一种思路(也是更常用的思路把)就是:不需要转换,刚刚说字符串的优势是判断每一位很方便。

那么我们想知道一个数字的位数其实实现也不难。(应该是我练得少,忘了这个emm)

x每次都对10取商,当其值不为0时,我们就将这个数每次 对10取余,就可以判断这个数是不是我们想要的。

代码

#include<iostream>
#include<algorithm>
using namespace std;
int n,sum;
int main()
{cin>>n;for(int i=1;i<=n;i++){int tmp=i;//记得给i找替身while(tmp){if(tmp%10==2 || tmp%10==0 || tmp%10==1 || tmp%10==9){sum+=i;break;}tmp/=10;//数位分解 }}cout<<sum;return 0;
}

好噜,就写到这里。最近写文章估计都是这种一道题里我想记住的知识点,或者没做出来的题这种。

有问题欢迎指出,一起加油!!

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

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

相关文章

实验二(二)OSPF路由协议基础实验

1.实验介绍 1.1关于本实验 开放式最短路径优先 OSPF(Open Shortest Path First)是IETF 组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。目前针对 IPv4 协议使用的是 OSPF Version 2(RFC2328);OSPF 作为基于链路状态的协议&#xff0c;OSPF 具有以下优…

乡村治理深度解析:策略、挑战与解决方案

毋庸置疑&#xff0c;在今天这个崭新的时代&#xff0c;乡村治理的过程已然向我们发出了挑战。为了迎难而上&#xff0c;我们必须摒弃陈旧观念&#xff0c;勇敢迎接并大胆尝试探索与实践新的思路&#xff01;为了达到这一宏伟目标&#xff0c;我们需要首先廓清如下关键概念&…

Qt教程 — 1.1 Linux下安装Qt

目录 1 下载Qt 1.1 官方下载 1.2 百度网盘下载 1.3 Linux虚拟机终端下载 2 Qt安装 3 安装相关依赖 4 测试安装 1 下载Qt 1.1 官方下载 通过官网下载对应版本&#xff0c;本文选择的版本为qt-opensource-linux-x64-5.12.12&#xff0c;Qt官方下载链接&#xff1a;htt…

L1-7 分寝室(Python)

学校新建了宿舍楼&#xff0c;共有 n 间寝室。等待分配的学生中&#xff0c;有女生 n0​ 位、男生 n1​ 位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去&#xff0c;最后不能有寝室留空。 现请你写程序完成寝室的自动分配。分配规则如下&#xff1a; 男女生不…

diffusion model(十二): StableCascade技术小结

infopaperhttps://arxiv.org/abs/2306.00637githubhttps://github.com/Stability-AI/StableCascade/tree/master个人blog位置http://myhz0606.com/article/stablecascadehttp://stability.AI bloghttps://stability.ai/news/introducing-stable-cascade 前置知识&#xff1a; …

window mysql 安装出现的问题

1.安装到最后时&#xff0c;报错&#xff1a;authentication_string doesnt have a default value 解决办法&#xff1a; 1.不要关掉该页面&#xff0c;点击skip。 然后单击 back 回退到如下界面 2.去掉 Enable Strict Mode。 不要勾选 2. 最后一步&#xff1a;Start Servic…

Linux:kubernetes(k8s)lable和selecto标签和选择器的使用(11)

通过标签是可以让我们的容器和容器之间相互认识&#xff0c;简单来说一边打了标签&#xff0c;一边使用选择器去选择就可以快速的让他们之间耦合 定义标签有两种办法&#xff0c;一个是文件中&#xff0c;一个是命令行里 我们在前几章编进文件的时候里面都有lable比如 这个就是…

docker学习(十四)docker搭建私服

docker私服搭建&#xff0c;配置域名访问&#xff0c;设置访问密码 启动registry docker run -d \-p 5000:5000 \-v /opt/data/registry:/var/lib/registry \registrydocker pull hello-world docker tag hello-world 127.0.0.1:5000/hello-world docker push 127.0.0.1:5000…

自动从Android上拉取指定文件

需求场景 利用Mac中的脚本编辑器实现从连接的Android设备中获取指定的文件。 环境 macOS Monterey 版本 12.7.1脚本编辑器adb环境&#xff08;如果没有的话&#xff0c;可以网上搜下Mac配置adb&#xff09; 实现方案 1、打开脚本编辑器&#xff1b; 2、新建一个脚本文件&…

吴恩达机器学习-可选实验室:逻辑回归,决策边界(Logistic Regression,Decision Boundary))

文章目录 目标数据集图数据逻辑回归模型复习逻辑回归和决策边界绘图决策边界恭喜 目标 在本实验中&#xff0c;你将:绘制逻辑回归模型的决策边界。这会让你更好地理解模型的预测。 import numpy as np %matplotlib widget import matplotlib.pyplot as plt from lab_utils_co…

强大的项目管理软件:OmniPlan Pro 4 mac中文版

OmniPlan Pro 4 mac中文版是由The Omni Group为macOS和iOS操作系统开发的一款专业级项目管理软件。它允许用户创建和管理复杂的项目&#xff0c;从定义任务、分配资源到跟踪进度和生成报告&#xff0c;一应俱全。 这款软件提供了一系列强大的工具&#xff0c;帮助用户进行高效…

R语言复现:如何利用logistic逐步回归进行影响因素分析?

Logistic回归在医学科研、特别是观察性研究领域&#xff0c;无论是现况调查、病例对照研究、还是队列研究中都是大家经常用到的统计方法&#xff0c;而在影响因素研究筛选自变量时&#xff0c;大家习惯性用的比较多的还是先单后多&#xff0c;P&#xff1c;0.05纳入多因素研究&…