卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。
当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的时候遇到过了,我们称5、8、4、2是被3“覆盖”的数。我们称一个数列中的某个数n为“关键数”,如果n不能被数列中的其他数字所覆盖。
现在给定一系列待验证的数字,我们只需要验证其中的几个关键数,就可以不必再重复验证余下的数字。你的任务就是找出这些关键数字,并按从大到小的顺序输出它们。
输入格式:每个测试输入包含1个测试用例,第1行给出一个正整数K(<100),第2行给出K个互不相同的待验证的正整数n(1<n<=100)的值,数字间用空格隔开。
输出格式:每个测试用例的输出占一行,按从大到小的顺序输出关键数字。数字间用1个空格隔开,但一行中最后一个数字后没有空格。
输入样例:
6 3 5 6 7 8 11
输出样例:
7 6 参考代码:
alist = [0]*100001 def markRouteNode(aNum): alist[aNum] += 1 while aNum!=1: if aNum%2!=0: aNum = (aNum*3+1)//2 alist[aNum] +=1 else: aNum //= 2 alist[aNum] += 1 num = int(input()) inLine = input().split(' ') for j in range(len(inLine)): markRouteNode(int(inLine[j])) count = 1; rlist = [] for i in range(len(inLine)): if alist[int(inLine[i])]==1: rlist.append(int(inLine[i])) rlist.sort() for k in range(len(rlist)-1,0,-1): print(rlist[k],end=' ') print(rlist[0])
晕死 开始题目理解错了~注意下越界问题
相关推荐
PAT 1001. 害死人不偿命的(3n+1)猜想 C实现
将数论中3N+1猜想推广为3N+3k猜想。...得到有关3N+3猜想的一些性质,3N+1猜想的推广、3N+3猜想的一些性质的建立对于研究4K+3型奇数在3N+3猜想压缩迭代中起到简化作用,同时也为3N+1猜想的研究提供了新思路。
继续(3n+1)猜想.sln
这个猜想对于至少 1 000 000内的整数都是正确的。 对于给定的 n,该序列的元素(包括 1)个数被称为 n 的循环节长度。在上述例子中,22 的循环节长度为 16。 输入两个数 i 和 j,你的任务是计算 i 到 j(包含 i 和 j...
3N+1问题 c语言实现 挑战编程上的原题 考虑一下数列的生成办法.由n开始. 如果 n是偶数除以2. 如果是奇数, 除以3加1. 这样产生一个新的n, 长此以往,直到n = 1. 例如 n = 22: 22 11 34 17 52 26 13 40 20 10 5 16 8...
北大POJ1207-The 3n + 1 problem 解题报告+AC代码
Uva 100 ,问题是The 3n+1 probelm ,可以ac的代码
从键盘输入一个自然数n,将1至3n+2的自然数填入图2-1的圆框中,使得所有用线段相连的两个数之差的绝对值能产生数列1,2,…,3n+1。
UVA 100题答案
叭啦 叭啦 巴拉 就是ACM100 3N+1 巴拉巴拉巴拉 叭啦 叭啦 巴拉 就是ACM100 3N+1 巴拉巴拉巴拉
从键盘输入一个自然数n,将1至3n+2的自然数填入图2-1的圆框中,使得所有用线段相连的两个数之差的绝对值能产生数列1,2,…,3n+1。
台达触摸屏软件V2.D.3n,用于台达品牌触摸屏的编辑、仿真,很实用!
C program that accepts the input of a positive integer m from the console and displays all all starting values n from 1 to m in tabular form
电视机原理图elecfans.com.3N10/3N20
C实用代码
蛮力检查Collatz序列或3n + 1问题。 程序将查找具有最长Collatz序列的起始编号,直到指定的上限。 该代码有两种实现。 两者都是多线程的。 collatz.cpp使用共享内存库OpenMP,而mpi_collatz.cpp使用...
(3N+1 问题) 又名3N+1问题。 臭名昭著的 Collatz 猜想说,如果您从任何正整数开始,您将始终以这个循环结束。 结果,在某些时候,最终会出现在4,2,1的循环中。 这是如何运作的? 我建议您观看 Veritasium ...
pat 1-12题通过测试代码,3n+1猜想。读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。我要通过。成绩排名。继续3*n+1猜想,关键数。换个格式输出整数。素数对猜想。数字分类。
676-644=32=2n+2 n=15 A.688 B.678 C.692 D.696 3n+3=48 5. 树最适合用来表示( )。 A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 6. 二叉树的第k层的结点数最多为...