【3x+1猜想】思考:x一定会缩减成比它小的值

来源:互联网 发布:c语言程序设计编程题库 编辑:程序博客网 时间:2024/05/16 07:36

//寻找x缩减的第一个值
#include <iostream>#include <fstream>using namespace std;const int GI_MAX = 0xFFFF;int arr[GI_MAX + 1] = { 0 };void forTest(int iMax);int main(char argc, char argv[]){    memset(arr, 0, GI_MAX + 1);        forTest(GI_MAX);    getchar();}int liTest3Xp1(int iMax){    int i_now = iMax;    while (i_now > 1 && i_now < 0xFFFFFFF)// 防止溢出    {        if (i_now % 2 == 0)        {            i_now /= 2;        }        else        {            i_now = i_now * 3 + 1;        }        if (i_now < iMax && arr[i_now])        {            return i_now;        }    }    if (i_now == 1)    {        return iMax;    }    else    {        return 0;    }}void forTest(int iMax){    ofstream  o_f;    o_f.open("3Xp1.txt");    for (int i = 1; i < iMax; i++)    {        arr[i] = liTest3Xp1(i);        if (i % 2)        {            o_f << i << "->" << arr[i] << endl;        }        if (arr[i] == 0)        {            cout << "error" << endl;            break;        }    }    o_f.close();    cout << "end!";}

//根据结果发现规律不能啊


0 0
原创粉丝点击