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))
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
- ¥15 Android studio AVD启动不了
- ¥15 陆空双模式无人机怎么做
- ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
- ¥15 C#中的编译平台的区别影响
- ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
- ¥15 电脑蓝屏logfilessrtsrttrail问题
- ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
- ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
- ¥15 Java+vue部署版本反编译