洛谷B3850 [GESP202306 四级] 幸运数

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

本文详细解析了一种用于判断幸运数的算法实现。通过定义奇数位上的数字乘以7并进行特殊处理,最终判断其总和是否能被8整除来确定一个数是否为幸运数。文章提供了完整的代码实现,包括转换函数和判断函数。

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

吐槽结束,接下来进入正题
题目链接

题意概括:

        将一个数的奇数位*7如果不超过9就作为转换结果,否则将奇数位*7的各位相加,如任超过9则重复以上操作,直至小于等于9。将所有奇数位转换后将转换后的数各位相加,如结果能被8整除则输出“T”否则输出“F”。

输入1

2
16347
76344

输出1 

T
F

基本思路

(1):写两个函数一个判断幸运数,另一个进行转换。

(2):判断幸运数的函数要布尔类型,方便判断,转换函数返回时要注意存储方式,如:

sum += trans(t);

(3):特别注意题目给你的数是超int的,而一个数位要用int,所以存储时注意用int(...);

接下来上代码

Code

#include <bits/stdc++.h>
using namespace std;
int trans(int t){
	if(t == 0){
		return 0;
	}
	return (t * 7 - 1) % 9 + 1;
}
bool judge(long long x){
	int sum = 0;
	for (int d=1;x>0;d++){
		x /= 10;
		int t = (int)(x % 10);
		if(d % 2 == 0){
			sum += t;
		}
		else{
			sum += trans(t);
		}
	}
	return (sum % 8 == 0);
}
int main(){
	int N = 0;
	cin >> N;
	for(int n = 0; n < N; n++){
		long long x = 0;
		cin >> x;
		if (judge(x)){
			cout << "T" << endl;
		}
		else{
			cout << "F" << endl;
		}
	}
	return 0;
}

洛谷B3850[GESP202306四级]幸运数 这段代码通过定义rule函数和isLucky函数,实现了对输入数字是否为幸运数的判断。代码逻辑清晰,将数字处理和幸运数判断的功能分别封装在不同的函数中,提高了代码的可读性和可维护性。然而,代码可以进一步优化,例如在处理数字各位之和时,可以使用数学方法减少循环次数。同时,代码没有对输入进行有效性检查,在实际应用中可以添加输入验证逻辑,确保输入的数字符合要求。 阅读详情

相关推荐

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

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

王老师青少年编程 1462

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

提示:不需要等到所有输入结束在依次输出,可以输入一个数就判断一个数并输出,再输入下一个数。变换结束后,把变换结果的各位数相加,如果得到的和是。小明发明了一种 “幸运数”。个正整数是否为幸运数,如是则输出 ‘T’,否则输出 ‘F’。行,每行一个正整数,为待判断的正整数。则作为变换结果,否则把结果的各位数相加,如果结果不大于。位,以此类推),奇数位做如下变换:将数字乘以。的倍数,则称一开始的正整数为幸运数。则作为变换结果,否则(结果仍大于。)继续把各位数相加,直到结果不大于。,继续各位数相加,最后结果为。

Python_enjoy 是一个大帅哥! 4768

帆软FineBI考试题

Flint 补录表,有批次删除功能。在分析主题内添加数据时能够选择批量添加数据。插件安装过程中有报错提示需要下载 Fine I for Excel 运行环境进行修复,修复完毕后重新安装插件。图例显示支持自定义设置,且图例标题支持隐藏显示。finebi中的指标如果想进行维度区间/真的自定义分组,不能直接拖拽到组建区域中需要先转化为维度方可进行指标分组。excel报表不支持分页。

Davina_yu的博客 1608

B3850 [GESP202306 四级] 幸运数

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

Yangtian_Bear的博客 461

手把手教你用FPGA解析AD9680的JESD204B数据流(附Verilog代码)

本文详细介绍了如何利用FPGA解析AD9680的JESD204B数据流,包括协议核心机制、硬件平台搭建、Verilog代码实现及调试技巧。通过实战案例和代码示例,帮助工程师快速掌握高速ADC数据采集与处理技术,提升系统性能。

weixin_33640562的博客 372

双像素传感器的AI计算摄影实战:单目深度估计与图像去模糊的融合创新

本文介绍了双像素传感器技术在计算机视觉中的应用,包括深度估计、图像去模糊和图像重建等任务。双像素传感器通过两个子单元捕捉视差信息,使摄像头能够分析场景的三维结构和运动轨迹。文章以图像去模糊为例,详细展示了从数据准备到模型训练的完整流程,包括构建自定义数据集、设计双像素特征提取模块、训练去模糊模型及推理测试。通过模拟双像素的"双视角"信息融合,该AI算法能有效恢复模糊图像的清晰细节。

know_F0727的博客 256

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

● 利用字符串处理大数。

hnjzsyjyj的专栏 480

Autosar CAN 网络管理测试用例(3)——Repeat Message Timer 时间测试

Autosar CAN 网络管理测试用例(3)——Repeat Message Timer 时间测试

蚂蚁小兵 2466

GESP四级幸运数:字符串处理大数题的经典套路

在编程竞赛与等级考试中,大数问题常让初学者望而却步。所谓大数,是指超过常规整数类型(如long long)表示范围的数字,若强行用数值类型读入必然溢出,导致结果错误。处理大数的核心原理,是将其视为字符串,通过逐位遍历完成统计、比较等操作,避免高精度计算。字符串处理凭借灵活的长度支持与字符遍历能力,成为解决大数题目的基础技术,广泛应用于C++与Python等语言的算法实现。在GESP四级等入门级考核中,常出现此类考查基本功的题目,例如洛谷B3850幸运数,只需统计每个数字出现频次并判断奇偶性即可。掌握字符串承

weixin_30843121的博客 330

基于学术研究于NASA官网GPM卫星数据下载详细教程

基于学术研究于NASA官网GPM卫星数据下载详细教程

珞瑜的博客 8656

手把手教你学Simulink——基于Simulink的无感FOC(滑模观测器+PLL)实战

本文详细介绍了基于Simulink的无感FOC(滑模观测器+PLL)实现方法。主要内容包括:1)SMO+PLL原理精讲,阐述滑模观测器核心思想和PLL的作用;2)系统架构全景图展示;3)Simulink建模全流程,从基础FOC框架到SMO和PLL模块的实现;4)关键参数整定指南和工程实践要点;5)仿真结果分析及常见问题解决方案。该方法可有效替代机械传感器,降低成本并提高可靠性,适用于空调压缩机、电动汽车水泵等工业场景。文章还提供了详细的调试建议和动手实践指导。

MHD0815的博客 83

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

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

团爸讲算法 527

FOC 电流采样方案对比(单电阻/双电阻/三电阻)

电流采样的作用 在FOC算法中,电流采样在反馈环节是相当重要的一部分,通常交流三相同步电机在进行坐标变换的时候,需要实时测量相电流,最终通过SVPWM实现电机转子磁场和定子磁场的同步转动,那么这里有三种方案,单电阻采样,双电阻采样,三电阻采样。本文参考ST的单电阻和三电阻采样以及TI的双电阻采样,结合实际中可能需要注意的地方进行总结分析。 单电阻采样 双电阻采样 三电阻采样 ...

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 4万+

GESP 一级至六级 样题与真题集(2022.11.11)

GESP 一级至六级 样题与真题集(2022.11.11)

青少年趣味编程 4372

**Coffin-Manson 模型**在半导体功率循环测试中的理论背景、数学形式、应用场景,以及如何使用 **C#** 编程语言进行具体实现

Coffin-Manson 模型最初用于描述金属材料在低周疲劳(Low-Cycle Fatigue, LCF)下的寿命,后来被广泛应用于半导体功率器件(如 IGBT、MOSFET)的可靠性分析,特别是在功率循环测试中。如果你有具体数据(如 CSV 文件)、更复杂的模型要求(如 Bayerer 模型)或特定可视化需求,请提供,我可以进一步优化代码或添加功能!以下代码实现基本模型 ( N_f = A \cdot (\Delta T_j)^{-n} ) 的拟合,生成拟合曲线并预测寿命。我会结合你之前提到的。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 481

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

GESP2306-202506 四级(2025.08)

GESP2306-202506 四级(2025.08)

青少年趣味编程 2021

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

GESP4级手册(编程题)

声明:顺序按照洛谷顺序排的。

2503_93269920的博客 634

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

GESP202306 一级--四级、GESP样题

GESP202306 一级--四级、GESP样题

青少年趣味编程 555

[GESP202306 四级] 幸运数

[GESP202306 四级] 幸运数

w2457771的博客 683

GESP四级 样题 真题 解析

GESP四级 样题 真题 解析

青少年趣味编程 1703

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

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

qq_45382931的博客 451

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

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

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

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

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

长春高老师编程 4750

幸运数

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

2301_79801189的博客 870
上一篇: 洛谷B3869 [GESP202309 四级] 进制转换
下一篇: 洛谷B3939 [GESP样题 四级] 绝对素数
White__Night__
博客等级 码龄3年 230粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值