[环境:Windows8.1 + Dev-c++5.11]
3n+1猜想即为卡拉兹(Callatz)猜想:
3x+1 ······ ①
x / 2 ······ ②
一个方程组, 对于任意正整数 x
如果它是奇数则执行①;
如果它是偶数则执行②;
猜想认为只要不断执行下去,X最终会总变成1。
我们编写一个程序验证一定范围以内的 n 成立。
枚举从 1 到 MAX_N 逐一验证。
#include <cstdio>
#include <vector>
#include <algorithm>
#include <conio.h>
#define MAX_STEP 1e6
using namespace std;
int main() {
unsigned long long i = 1, limit, price;
bool flag = 0;
vector<unsigned long long> nerror;
printf("limit number: ");
scanf("%lld", &limit);
price = limit / 100;
FILE *ferr = fopen(