南通网站建设心得,郑州企业建设网站服务,如何虚拟一个公司网站,初学者学做网站用什么软件一#xff1a;3n1数链题目描述 在计算机科学上#xff0c;有很多类问题是无法解决的#xff0c;我们称之为不可解决问题。然而#xff0c;在很多情况下我们并不知道哪一类问题可以解决#xff0c;哪一类问题不可解决。现在我们就有这样一个问题#xff0c;问题如下#…一3n1数链题目描述 在计算机科学上有很多类问题是无法解决的我们称之为不可解决问题。然而在很多情况下我们并不知道哪一类问题可以解决哪一类问题不可解决。现在我们就有这样一个问题问题如下 11 输入一个正整数 n 22 把 n 显示出来 33 如果 n1 则结束 44 如果 n 是奇数则 n 变为 3n1否则 n 变为 n/2 55 转入第(2)步。 例如对于输入的正整数 22应该有如下数列被显示出来 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 我们推测对于任意一个正整数经过以上算法最终会推到 1 。尽管这个算法很简单但是我们仍然无法确定我们的推断是否正确。不过好在我们有计算机我们验证了小于 1000000 的正整数都满足以上推断。 对于给定的正整数 n我们把显示出来的数的个数定义为 n 的链长例如 22 的链长为 16。 你的任务是编写一个程序对于任意一对正整数 i 和 j给出i与j之间的最长链长当然这个最长链长是由 i 与 j 之间的其中一个正整数产生的。我们这里的 i 与 j 之间即包括 i 也包括 j 。输入格式 输入包含多组数据每行分别是 ij 的值。输出格式 输出i到j区间中的包括 i 和 j 数链最长的长度每行一个。样例输入输出 样例输入 1 10样例输出 20数据范围 对于 100% 的数据保证 0i≤j10000 来源/分类难度系数二星模拟 递归 完整代码展示: def length_list(n): sum1 while n!1: if n%20: nn/2 sum1 else: n3*n1 sum1 return sum i,jmap(int,input().split()) list_1[] for k in range(i,j1): list_1.append(length_list(k)) list_1.sort() print(list_1[-1])
def length_list(n):sum1while n!1:if n%20:nn/2sum1else:n3*n1sum1return sum
i,jmap(int,input().split())
list_1[]
for k in range(i,j1):list_1.append(length_list(k))
list_1.sort()
print(list_1[-1]) 代码解释 “def length_list(n): sum1 while n!1: if n%20: nn/2 sum1 else: n3*n1 sum1 return sum ”自定义一个函数length_list(),按照题目所给的数链的定义计算形参n的链长sum并返回链长值sum。 “i,jmap(int,input().split()) ”导入用户输入的给定的区间限定值i和j。 “list_1[] for k in range(i,j1): list_1.append(length_list(k)) ”建立一个空列表list_1,接着遍历i~j的所有数字k,利用length_list函数计算出k的链长。将该链长添加进list_1中。 “list_1.sort() print(list_1[-1]) ”对list_1中元素进行升序排序接着打1印list_1中的最后一个元素90即最长数链。 运行效果展示 二233题目描述 小理聊天的时候非常喜欢发 “ 233 ”“ 233 ”来源于猫扑表情第 233 号是一张捶地大笑的表情。 小理每当看到很好玩的消息的时候总会回一串“ 233... ”。小理其实十分高冷他发现了这个问题。为了不希望别人立刻知道他在笑他决定将两个“ 233.. ”乘在一起发出去。输入格式 输入样例有多组全部是正整数。首先输入样例组数 T 。 接下来输入T组数每组数字由两个 233 串组成每个 233 串长度为 n 。 数据保证每个 233 串必然会有一个 2 作为开头并且 3 的数量 ≥2 。输出格式 两个 233 串的乘积。样例输入输出样例输入 2 233 233 23333333333333333333333333333333333333333333333333 23333333333333333333333333333333333333333333333333样例输出 54289 544444444444444444444444444444444444444444444444428888888888888888888888888888888888888888888888889数据范围 对于 100% 的数据保证 1≤T≤1500,3≤n≤50 。 来源/分类难度系数二星函数 高精度 模拟 完整代码展示 def oho(i,j): return i*j nint(input()) list_1[] for k in range(n): i,jmap(int,input().split()) list_1.append(oho(i,j)) for l in range(0,len(list_1)): print(list_1[l])
def oho(i,j):return i*j
nint(input())
list_1[]
for k in range(n):i,jmap(int,input().split())list_1.append(oho(i,j))
for l in range(0,len(list_1)):
print(list_1[l]) 代码解释 “def oho(i,j): return i*j ”自定义一个函数oho(),传递两个形参i,j,接着返回i*j的值。 “nint(input()) ”导入用户的输入的样例组数n。 “list_1[] for k in range(n): i,jmap(int,input().split()) list_1.append(oho(i,j)) ”建立一个空列表list_1,循环n次导入用户输入的同组的两个数。并将其利用oho()函数计算的返回值添加进list_1中。 “for l in range(0,len(list_1)): print(list_1[l]) ”遍历list_1中元素list_1[i],并打印。 运行效果展示 声明以上内容均为原创