当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 ...
如记录5这个数,就是在数组下标为5的位置上标记一下, */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[5000]; int[] ioarr = new int[n]; for (int i = 0; i < n; i++) { io...
Arrays.sort(arr); //创建一个存放arr数组的数组,用来记录进行猜想时出现的所有数 int[] recode = new int[100]; for (int x = 0; x < arr.length; x++) { //temp临时存放输入的数,和中间猜想出现的所有数 int temp = arr[x]; while (temp != 1) { if (temp % 2 == 0) { temp /= ...
intb) {6returna >b;7}8intmain() {9intK, flag =0;10cin >>K;11inta[10000] = {0};12vector<int>v;13for(inti =0; i < K; i++) {14inttmp;15cin >>tmp;16v.push_back(tmp);17while(tmp !=1) {18if(tmp %2==1)19tmp =3* tmp +1;20tmp /=2;21if(a[tmp] ==...
1005 继续(3n+1)猜想 (25 分) 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对n=5、8、4、2 进行验证的时候,就...
PTA 乙级 1005 继续(3n+1)猜想 (25分) C++ C++ 1#include <iostream>2#include <vector>3#include <algorithm>4usingnamespacestd;5boolcmp(inta,intb) {6returna >b;7}8intmain() {9intK, flag =0;10cin >>K;11inta[10000] = {0};12vector<int>v;13for(inti =0; i < K; i++) {14...
PTA | 1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证...