洛谷题解 - B3850 [GESP202306 四级] 幸运数

【GESP】C++四级真题 luogu-B3850 [GESP202306 四级] 幸运数 GESP C++四级真题,函数应用练习,难度⭐⭐★☆☆。 阅读详情
AI摘要

本题介绍了“幸运数”的定义,即正整数偶数位不变,奇数位经特定变换后各位数相加和为8的倍数。给出输入格式,第一行为待判断正整数个数N(1≤N≤20),后续每行一个小于1012的正整数;输出格式为对应每个数是否为幸运数,是则输出‘T’,否则‘F’。

题目描述

小明发明了一种 “幸运数”。一个正整数,其偶数位不变(个位为第 1 1 1 位,十位为第 2 2 2 位,以此类推),奇数位做如下变换:将数字乘以 7 7 7,如果不大于 9 9 9 则作为变换结果,否则把结果的各位数相加,如果结果不大于 9 9 9 则作为变换结果,否则(结果仍大于 9 9 9)继续把各位数相加,直到结果不大于 9 9 9,作为变换结果。变换结束后,把变换结果的各位数相加,如果得到的和是 8 8 8 的倍数,则称一开始的正整数为幸运数。

例如, 16347 16347 16347:第 1 1 1 位为 7 7 7,乘以 7 7 7 结果为 49 49 49,大于 9 9 9,各位数相加为 13 13 13,仍大于 9 9 9,继续各位数相加,最后结果为 4 4 4;第 3 3 3 位为 3 3 3,变换结果为 3 3 3;第 5 5 5 位为 1 1 1,变换结果为 7 7 7。最后变化结果为 76344 76344 76344,对于结果 76344 76344 76344 其各位数之和为 24 24 24,是 8 8 8 的倍数。因此 16347 16347 16347 是幸运数。

输入格式

输入第一行为正整数 N N N,表示有 N N N 个待判断的正整数。约定 1 ≤ N ≤ 20 1 \le N \le 20 1≤N≤20。

从第 2 2 2 行开始的 N N N 行,每行一个正整数,为待判断的正整数。约定这些正整数小于 1 0 12 10^{12} 1012。

输出格式

输出 N N N 行,对应 N N N 个正整数是否为幸运数,如是则输出 ‘T’,否则输出 ‘F’。

提示:不需要等到所有输入结束在依次输出,可以输入一个数就判断一个数并输出,再输入下一个数。

样例 #1

样例输入 #1

2
16347
76344

样例输出 #1

T
F

代码

#include <bits/stdc++.h>
using namespace std;
int a[20];
int trans(int x)
{
	x*=7;
	while(x>9)
	{
		x=x/10+x%10;
	}
	return x;
}
int main()
{
	int n;
	cin>>n;
	while(n--)
	{
		long long x;
		cin>>x;
		int cnt=0;
		while(x>0)
		{
			a[++cnt]=x%10;
			x/=10;
		}
		for(int i=1; i<=cnt; i++)
		{
			if(i%2)
			{
				a[i]=trans(a[i]);
			}
		}
		long long sum=0;
		for(int i=cnt; i>=1; i--)
		{
			sum=sum+a[i];
		}
		cout<<((sum%8==0)?"T":"F")<<endl;
	}
	return 0;
}
洛谷B3850[GESP202306四级]幸运数 这段代码通过定义rule函数和isLucky函数,实现了对输入数字是否为幸运数的判断。代码逻辑清晰,将数字处理和幸运数判断的功能分别封装在不同的函数中,提高了代码的可读性和可维护性。然而,代码可以进一步优化,例如在处理数字各位之和时,可以使用数学方法减少循环次数。同时,代码没有对输入进行有效性检查,在实际应用中可以添加输入验证逻辑,确保输入的数字符合要求。 阅读详情

相关推荐

【GESP真题解析】第 4 集 GESP 四级 2023 年 6 月编程题 1:幸运数

GESP C++ 四级 2023 年 6 月 编程题第一题:幸运数 解析

程序员莫小特的编程世界 1115

洛谷B3850 [GESP202306 四级] 幸运数

PS:我朋友说可以写些常见的题,但我觉得我做的题都有点冷门,所以目前只能写GESP,有题推荐的话,可以把题号打讨论里,我尽量去写。吐槽结束,接下来进入正题。

KAFKAut的博客 915

gesp(C++四级)(3)洛谷:B3850:[GESP202306 四级] 幸运数

gesp(C++四级)(3)洛谷:B3850:[GESP202306 四级] 幸运数

王老师青少年编程 1462

B3850 [GESP202306 四级] 幸运数

【代码】B3850 [GESP202306 四级] 幸运数。

Yangtian_Bear的博客 461

基于SECS协议开发的简明教程(1)

SEMI SECS MES E4 E5 E30 E37 HSMS SDK

L251210269的专栏 7631

Amesim管路仿真进阶:如何用阻力管实现不规则管路的高精度模拟

本文深入探讨了在Amesim仿真中,如何利用阻力管(Orifice with Table)元件,特别是TFORT0子模型,实现对不规则管路的高精度模拟。通过直接输入基于测试或CFD的流量-压降数据,该方法能有效弥补标准管路模型在复杂流道、内部结构复杂等场景下的不足,为液压、热管理等系统仿真提供精准可靠的部件模型。

cicd6pipeline的博客 671

GESP认证C++编程真题解析 | 202306 四级

根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。提示:不需要等到所有输入结束再依次输出,可以输入一个数就判断一个数并输出,再输入下一个数。:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。变换结束后,把变换结果的各位数相加,如果得到的和是。小明发明了一种 “幸运数”。行,每行一个正整数,为待判断的正整数。则作为变换结果,否则把结果的各位数相加,如果结果不大于。的倍数,则称一开始的正整数为幸运数。,继续各位数相加,最后结果为。

团爸讲算法 527

Microsoft Speech SDK 使用过程中女声改为男声遇到的问题

问题将女生改为系统自带男声(Kangkang)根据上面的步骤我的播放声音是改变了,但是还是女生,是yaoyao的女生。是因为下面注册表路径中VoicePath这个配置的路径指向了yaoyao的文件。 如何使用Microsoft Speech SDK,请参考https://blog.youkuaiyun.com/daoming1112/article/details/77542562 使用系统自带男声语音,不需...

u012161365的博客 7538

GESP2306-202506 四级(2025.08)

GESP2306-202506 四级(2025.08)

青少年趣味编程 2022

半导体AMHS系统振动控制技术演进:从0.5G到超低振动的工艺革命

在半导体制造进入埃米级时代后,AMHS的振动控制能力将成为区分厂商技术等级的标尺。国内企业通过“弹性机械设计-混合主动控制-智能调度”的三重创新,正逐步突破0.2G阈值,支撑12英寸晶圆厂向3nm/2nm制程升级。未来,振动抑制不再仅是物流系统的性能参数,而是与光刻、刻蚀等核心工艺深度耦合的基础能力,这将重塑半导体设备产业的竞争格局。

m0_60674045的博客 1586

保姆级教程:在阿里云ECS上用Docker一键部署EMQX MQTT服务器(Ubuntu 20.04)

本文提供在阿里云ECS上使用Docker一键部署EMQX MQTT服务器的详细教程,涵盖从实例创建、Docker环境配置到EMQX部署与优化的全流程。适合物联网开发者快速搭建高效、安全的MQTT消息服务器,适用于智能家居、工业物联网等场景。

weixin_28739079的博客 308

CCF-GESP计算机学会等级考试2023年6月四级C++T1幸运数

小明发明了一种“幸运数”。一个正整数,其偶数位不变(个位 为第 1 位,十位为第 2 位,以此类推),奇数位做如下变换:将数字 乘以 7,如果不大于 9 则作为变换结果,否则把结果的各位数相加, 如果结果不大于 9 则作为变换结果,否则(结果仍大于 9)继续把各 位数相加,直到结果不大于 9,作为变换结果。变换结束后,把变换 结果的各位数相加,如果得到的和是 8 的倍数,则称一开始的正整数 为幸运数。

长春高老师编程 4752

基于业务目标的Agent自动化评测体系设计:超越准确率的有效性衡量

我们还是以电商全链路服务Agent我们还是以电商全链路服务Agent。

AI架构全栈开发实战笔记 318

[GESP202306 四级] 幸运数

[GESP202306 四级] 幸运数

w2457771的博客 683

YOLOv11改进策略【Neck】| arXiv 2025 分层多头注意力HMHA 子空间拆分提多样 + 通道重排降冗余,强化目标检测精度

HMHA(Hierarchical Multi-Head Attention,分层多头注意力)旨在解决传统多头注意力(MHA)在图像恢复任务中的核心缺陷——特征冗余。传统MHA将通道均匀拆分给各个头,导致不同头学习的子空间信息相似,进而出现多头关注同一区域、忽略退化区域修复的问题,限制了模型的特征表达能力。HMHA通过“分层子空间拆分+通道重排序”策略,让每个头学习差异化、互补的上下文特征,从根源上缓解冗余,提升图像恢复任务中对复杂退化场景的特征捕捉能力。

Limiiiing的博客 779

通过理解 sk_buff 深入掌握 Linux 内核自定义协议族的开发实现

在。

数字人生 458

GESP四级 样题 真题 解析

GESP四级 样题 真题 解析

青少年趣味编程 1703

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

2023年12月GESP4级总复习(C++)

CFF-GESP编程能力等级认证

baby_dinosaur的博客 2043

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

洛谷 B3850:[GESP202306 四级] 幸运数 ← 字符串处理大数

● 利用字符串处理大数。

hnjzsyjyj的专栏 481

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【第四届】【省赛】【B组】

错误票据   某涉密单位下发了某种票据,并要在年终全部收回。   每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。   因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。   你的任务是通过编程,找出断号的ID和重号的ID。   假设断号不可能发生在最大和最小号。   要求程序首先输入一个整数N(N<100)表示后面数据行数。   接着读入N行数据。   每行数据长度不等,是用空格分开的若干个(不大于100个)正整

qq_45382931的博客 451

幸运数

一个正整数,其偶数位不变(个位为第 1 位,十位为第 2 位,以此类推),奇数位做如下变换:将数字乘以 7,如果不大于 9 则作为变换结果,否则把结果的各位数相加,如果结果不大于 9 则作为变换结果,否则(结果仍大于 9)继续把各位数相加,直到结果不大于 99,作为变换结果。变换结束后,把变换结果的各位数相加,如果得到的和是 88 的倍数,则称一开始的正整数为幸运数。例如,16347:第 1位为 7,乘以 7 结果为 49,大于 9,各位数相加为 13,仍大于 9,继续各位数相加,最后结果为 4;

2301_79801189的博客 871

打卡信奥刷题(394)用C++信奥B3850[普及组/提高] [GESP202306 四级] 幸运数

小明发明了一种 “幸运数”。一个正整数,其偶数位不变(个位为第1位,十位为第2位,以此类推),奇数位做如下变换:将数字乘以7,如果不大于9则作为变换结果,否则把结果的各位数相加,如果结果不大于9则作为变换结果,否则(结果仍大于9)继续把各位数相加,直到结果不大于9,作为变换结果。变换结束后,把变换结果的各位数相加,如果得到的和是8的倍数,则称一开始的正整数为幸运数。例如,16347:第1位为7,乘以7结果为49,大于9,各位数相加为13,仍大于9。

Loge谈信奥--一个专注于信奥人的博客 3059

2023年6月GESP C++ 四级试卷解析

1.高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。A.编辑B.保存C.调试D.编译【答案】D【考纲知识点】编程环境(一级)【解析】本题属于考察计算机基础知识中的编辑、编译、解释、调试的概念;其中编辑是编写修改代码,保存是将代码保存下来,调试是测试运行代码,而编译是将源程序翻译成可执行代码,所以本题正确答案为D。

星卯教育-信奥教练tony 4498

2023年6月GESP能力等级认证C++四级真题

2023年6月GESP能力等级认证C++四级真题

艾科叮 4019
上一篇: 洛谷题解 - P1873 [COCI 2011/2012 #5] EKO / 砍树
下一篇: 洛谷题解 - B3674 [语言月赛202210] 标题修改
Python_enjoy
博客等级 码龄4年 1201粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值