以下迭代序列是为正整数集定义的: n – > n / 2(n是偶数)n – > 3n + 1(n是奇数) 使用上面的规则并从13开始,我们生成以下序列: 13 40 20 10 5 16 8 4 2 1可以看出,这个序列(13开始,1结束)包含10个项。 虽然还没有被certificate(Collatz问题),但是所有的起始数字都被认为是1。 哪个起始数字低于一百万,会产生最长的连锁? 注意:一旦链条开始,条款被允许超过一百万。 我尝试使用bruteforce方法在C编码解决scheme。 但是,似乎我的程序在尝试计算113383时停顿。请指教:) #include <stdio.h> #define LIMIT 1000000 int iteration(int value) { if(value%2==0) return (value/2); else return (3*value+1); } int count_iterations(int value) { int count=1; //printf("%d\n", value); while(value!=1) { value=iteration(value); […]