梦熊杯-十二月月赛-白银组题解-C.永恒

news2024/11/15 20:00:29

C. Problem C.永恒(eternity.cpp)

内存限制:256 MiB

时间限制:1000 ms

标准输入输出

题目类型:传统

评测方式:文本比较

题目描述:

「稻妻」是「永恒」的国度。

巴尔泽布认为,如果一个数的所有数位上的数的和是原数的因数,那么这个数就是一个「永恒数」。

她希望你为她找出小于等于 n 的所有正整数中,所有的「永恒数」。

输入格式:

一个整数n 。

输出格式:

若干个整数,表示小于等于 n 的「永恒数」,从小至大依次输出,之间用一个空格分隔。

样例:

【样例 1 输入】

11

【样例 1 输出】

1 2 3 4 5 6 7 8 9 10

【样例 2 输入】

23

【样例 2 输出】

1 2 3 4 5 6 7 8 9 10 12 18 20 21

数据范围与提示:

【样例解释 #1】

在小于等于 11 的所有正整数中,只有 11 不为「永恒数」。

【数据范围】

对于 20% 的数据,1<=n<=10。

对于 60% 的数据,1<=n<=100。

对于 100% 的数据,1<=n<=1000。

思路:

  这道题,我们先定义一个int类型整数n,输入n之后,我们进行一次for循环,依次遍历1~n之间的所有数字i,在循环之中,我们需要判断这个数i是不是永恒数。

  怎么判断这个数是不是永恒数呢?题目上说了,如果i的各位数之和是n的倍数或者因数的话,那么就是一个永恒数。仔细观察后我们发现,如果i为一位数,那么i的各位数之和就等于i,是i的最大因数(包括自身),所以只要i是一位数,i就是一个永恒数(在样例输出处可以看出来)。

  之后,如果不是一位数,那么我们就需要“正儿八经”的来判断i是不是永恒数了,我们可以写一个函数pd,参数为一个int类型的整数a,返回值为bool,这个函数的左移就是判断一个数是不是永恒数,如果是就返回tue,不是就返回false.

  在函数里面,因为求a的各位数之和,需要改变a的值,这是不行的,所以我们可以定义一个新的int类型变量x,刚开始就赋值为a,之后我们要定义一个sum,初始化为0,来代表x的各位数之和,最后我们用while循环求x的各位数之和(相当于a的各位数之和),我们知道将x%10的结果就是x的个位数,所以将x%10的值加在sum上面,为了求x的十位数,我们需要将x/10,这样以后,x的个位数就是原来x的十位数,这样一直循环下去,直到x/10之后等于10.

  这个循环过后,我们求出了a的个位数之和sum,我们进行一次判断,如果sum是a的因数或者sum是a的倍数,那么就返回true代表是永恒数,否则返回false,代表不是永恒数。

代码:

#include<bits/stdc++.h> //万能头文件 
using namespace std; //批准使用std. 
bool pd(int a){ //判断a是不是永恒数 
	int x=a,sum=0; //定义 
	while(x!=0){ //求x的个位数之和 
		sum+=x%10; //将x的个位数加到sum上 
		x/=10; //让x的个位数变为原来x的十位数 
	}
	if(a%sum==0||sum%a==0) //判断sum是不是a的因数或者倍数 
	  return true; //是永恒数 
	return false; //不是永恒数 
}
int main(){ //main主函数 
	int n; //定义
	cin>>n; //输入 
	for(int i=1;i<=n;i++){ //进行for循环遍历1~n 
		if(i<10) //如果是一位数 
		  cout<<i<<" "; //就肯定是永恒数 
		else //如果不是一位数 
		  if(pd(i)) //进行判断函数 
			cout<<i<<" "; //如果返回值为真就是永恒数 
	}
	return 0; //结束 
}

总结:

  这道题其实并不怎么难,考点就是函数的应用与求整数的各位数(这个是非常容易考的)!

题目链接:


登录 - 梦熊联盟http://mna.wang/contest/50/problem/3

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

感知机与门电路

前言&#xff1a;简述单层感知机特征及三种表示方式&#xff0c;并用单层感知机描述门电路&#xff0c;借由单层感知机无法处理非线性空间的问题&#xff0c;引出多层感知机。 单层感知机 感知机&#xff08;preceptron&#xff09;接收多个输入信号&#xff0c;输出一个信号…

【Kubernetes 企业项目实战】05、基于云原生分布式存储 Ceph 实现 K8s 数据持久化(上)

目录 一、分布式存储 Ceph 基本介绍 1.1 块存储&#xff08;rbd&#xff09; 1.2 文件系统 cephfs 1.3 对象存储 1.4 分布式存储的优点 二、Ceph 核心组件介绍 三、准备安装 Ceph 高可用集群的实验环境 3.1 机器配置 3.2 初始化环境 3.3 配置互信 3.4 配置 Ceph 安…

【精选博客】反爬过程中 x-ca-nonce、x-ca-signature 参数的解密过程

本篇博客在 请求头 x-ca-key、x-ca-nonce、x-ca-signature 加密分析第一篇 的基础上继续编写&#xff0c;大家学习时可以从上一篇入手。 文章目录x-ca-nonce 代码实现python 实现 uuidx-ca-signature代码实现在上一篇博客我们已经捕获了参数的JS代码&#xff0c;这篇博客重点要…

Java设计模式-策略模式Strategy

介绍 策略模式&#xff08;Strategy Pattern&#xff09;中&#xff0c;定义算法族&#xff08;策略组&#xff09;&#xff0c;分别封装起来&#xff0c;让他们之间可以互相替换&#xff0c;此模式让算法的变化独立于使用算法的客户。这算法体现了几个设计原则&#xff0c;第…

这些学习技巧学起来

技巧一&#xff1a;组合多个对象 在PPT页面插入多个图形后&#xff0c;想要移动这些元素时&#xff0c;很多小伙伴会挨个拖动进行位置调整。其实&#xff0c;我们大可以使用快捷键【CtrlG】将多个同类的元素进行组合&#xff0c;使其成为一个图形元素&#xff0c;这样就可以方…

springboot整合mybatis-plus及mybatis-plus分页插件的使用

springboot整合mybatis-plus及mybatis-plus分页插件的使用1. mybatis-plus?2. 引入依赖3. 编写配置文件4. 编写sql表5. mapper层5.1 mybatis-plus做了什么&#xff1f;及创建mapper接口5.2 baseMapper源码6. service层及controller层6.1 service层6.2 controller层6.2.1 page对…

【html】超链接样式

超链接样式超链接样式超链接样式 根据超链接的类型&#xff0c;显示不同图片的前缀 根据 <!doctype html> <html> <head> <meta charset"utf-8"> <title></title> <style type"text/css"> body {background: …

C# 托管堆遭破坏问题溯源分析

一&#xff1a;背景 1. 讲故事 年前遇到了好几例托管堆被损坏的案例&#xff0c;有些运气好一些&#xff0c;从被破坏的托管堆内存现场能观测出大概是什么问题&#xff0c;但更多的情况下是无法做出准确判断的,原因就在于生成的dump是第二现场&#xff0c;借用之前文章的一张…

Exynos4412 移植针对Samsung的Linux-6.1(四)NandFlash卡驱动

系列文章目录 Exynos4412 移植针对Samsung的Linux-6.1&#xff08;一&#xff09;下载、配置、编译Linux-6.1Exynos4412 移植针对Samsung的Linux-6.1&#xff08;二&#xff09;SD卡驱动——解决无法挂载SD卡的根文件系统Exynos4412 移植针对Samsung的Linux-6.1&#xff08;三…

C++基础——C++ 循环

C基础——C 循环C 循环循环类型循环控制语句无限循环C 循环 有的时候&#xff0c;可能需要多次执行同一块代码。一般情况下&#xff0c;语句是顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 编程语言提供了允许更为复杂…

计算机自动和声分析

思路&#xff1a;信号→和声 通过计算特征值&#xff08;特征向量&#xff09;区分音频的关键信息 Chroma特征向量 (32 条消息) 什么是 Chroma Features&#xff1f; - 知乎 (zhihu.com) 基本思想&#xff1a;音高听感的周期性 音高每高一个八度&#xff0c;就回到相似的听…

计算机相关专业提升学历的解决方案(博士研究生)

文章目录1、正规全日制博士1.1 申请 - 考核制1.2 硕博连读与直博2、继续教育&#xff08;非全日制&#xff09;2.1 在职博士2.2 同等学力申博3、海外博士3.1 海外博士3.2 中外合作博士博士录取政策 国内博士&#xff0c;没有具体的政策&#xff0c;招生权力下放到各个高校。 往…

Spark 行动算子

文章目录Spark 行动算子1、reduce2、collect3、count4、first5、take6、takeOrdered7、代码示例8、aggregate9、fold10、countByValue & countByKey (wordcount重点)Spark 行动算子 所谓的行动算子&#xff0c;其实就是触发作业执行的方法&#xff0c;之前的转换算子是不能…

Lua 模块与包

Lua 模块与包 参考至菜鸟教程。 模块类似于一个封装库&#xff0c;从 Lua 5.1 开始&#xff0c;Lua 加入了标准的模块管理机制&#xff0c;可以把一些公用的代码放在一个文件里&#xff0c;以 API 接口的形式在其他地方调用&#xff0c;有利于代码的重用和降低代码耦合度。 Lua…

一起自学SLAM算法:11.3 路径规划

连载文章&#xff0c;长期更新&#xff0c;欢迎关注&#xff1a; 路径规划其实就是在回答图11-1中机器人提出的第3个问题“我该如何去”&#xff0c;不管是在已知地图上导航或是在未知环境下通过一边探索地图一边导航&#xff0c;路径规划其实就是在地图上寻找到一条从起点到目…

CMMI3-5级如何高效落地?——CMMI落地4大工具

为了助力CMMI3-5级高效落地&#xff0c;近日CoCode旗下Co-ProjectV3.0智能项目管理平台全面升级&#xff0c;CMMI落地4大工具正式上线&#xff1a;CMMI成熟度自测工具、量化管理工具&#xff08;组织级过程改进工具和量化项目管理工具&#xff09;、组织级过程资产库。 01、CMM…

年后创业,该如何选择适合年轻人的小成本创业项目?

2023年创业大潮即将来袭&#xff0c;疫情政策的放开&#xff0c;会让越来越多的年轻人选择创业。单纯的工作已经不能满足年轻人的生活需求&#xff0c;那无经验、无人脉的年轻人该如何选择适合自己的创业项目&#xff1f;小编在这里总结了几点&#xff0c;适合年轻人的小成本项…

Android Kotlin 多线程编程 server

参考: 《第一行代码 第三版》 10.1 service 是什么 Service是实现程序后台运行的解决方案&#xff0c;适合执行非交互&#xff0c;后台预先的任务&#xff0c;即使用户打开其他应用&#xff0c;Service也能够正常运行 Service需要内部手动创建子线程 10.2 多线程编程 用法&a…

Makefile学习⑨:Makefile中的等号和shell命令的使用

Makefile学习⑨&#xff1a;Makefile中的等号和shell命令的使用 Makefile中的等号 “” 普通赋值符号&#xff0c;命令格式如下 变量值注意&#xff1a;变量的最终值为该文件中的最后进行赋值操作所赋的值。 &#xff08;不管在当前文件的何处进行赋值&#xff0c;在使用该…

【MySQL】MySQL经常使用时间日期相关函数

MySQL经常使用时间、日期相关函数 MySQL经常使用的时间、日期相关函数 1. 日期函数 显示当前日期函数&#xff1a;CURDATE(), CURRENT_DATE(), CURRENT_DATE SQL&#xff1a;select CURDATE(), CURRENT_DATE(), CURRENT_DATE from dual; 2. 时间函数 显示当前日期函数&…