45、我们经常喜欢说自己的幸运数是多少,但是你认为的幸运数和你的契合度真的那么高吗?其实我们可以通过一段程序来对这点进行一个验证,我们现在有一种很神奇的计算方法:
第一步: 取出你姓名的缩写,例如,我们上课的珊珊的名字缩写就可以写为SHANSHAN。
第二步: 将每个字母用数字字符串取代。首先找到一个正整数N表示你的幸运数,之后用N来取代A,N+1来取代 B,N+2 来取代 C,……, N+25来取代Z。例如,如果珊珊觉得他的幸运数字是6,那么N就是6,A就被 6 取代,B 就被7取代,……,Z 则被32取代。上面的例子SHANSHAN则被 24136192413619取代。
第三步:重复以下操作:将相邻的两位数相加,并写下和的个位数。不难发现这个操作每进行一次,这个数字字符串就会少一位数。当这个数字变成 100 或不超过两位数(第一位是 0 也算两位数)时,这个程序便停止。所得的数字就是你跟你幸运数的契合度。用上面的例子来说,处理的过程如下:
24136192413619
6549701654970
193671719367
——
096
95
所以如果N为6的话,SHANSHAN跟数字6的契合度高达95!
相信同学们一定很想知道自己名字和幸运数的契合度吧,你可以尝试着写一个程序,只要输入一个姓名和一个N值,就输出他们的契合度。
输入格式:
第一行包括一个仅包含大写字母的姓名字符串
第二行是一个正整数N
输出格式:
一行,输出一个整数,表示契合度。
输入输出样例:
输入1:
DLLSS
478
输出1:
100
Python幸运数字问题 算法求解
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- chuifengde 2022-02-08 18:36关注
name = input(">>>") N = int(input(">>>")) s = '' for i in name: s += str((ord(i) - 65) + N) while s != '100' and len(s) >2: r = [str((int(s[i]) + int(s[i+1])) % 10) for i in range(len(s) - 1)] s = ''.join(r) print(int(s))
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 目标计数模型训练过程中的问题
- ¥100 Acess连接SQL 数据库后 不能用中文筛选
- ¥15 用友U9Cloud的webapi
- ¥20 电脑拓展屏桌面被莫名遮挡
- ¥20 ensp,用局域网解决
- ¥15 Python语言实验
- ¥15 我每周要在投影仪优酷上自动连续播放112场电影,我每一周遥控操作一次投影仪,并使得电影永远不重复播放,请问怎样操作好呢?有那么多电影看吗?
- ¥20 电脑重启停留在grub界面,引导出错需修复
- ¥15 matlab透明图叠加
- ¥50 基于stm32l4系列 使用blunrg-ms的ble gatt 创建 hid 服务失败