วันพุธที่ 16 พฤศจิกายน พ.ศ. 2559

C++ 3x+1 problem ให้หาค่าที่มากที่สุด จาก 1 -1000



int k=1000;
int max = -1;
int icount,ik;
int count = 0;
int i,m=k;
cout << 1 << "\t";
for (int j = 1; j<=k; j++)
{
i = j;
m = j;
while (i >= 1)
{
if (m % 2 == 0)
{
m = m / 2;
cout << m << "\t";
count++;
if (m == 1)
{
cout << "count = " << count << "\t";
if (count > max)
{
max = count;
icount = max;
ik = j;
}
count = 0;
break;
}
}
else
{
m = (3 * m + 1);
cout << m << "\t";
count++;
if (m == 1)
{
cout << "count = "<<count << "\t";
if (count > max)
{
max = count;
icount = max;
ik = j;
}
count = 0;
break;
}
}
i--;
}
cout << endl;
cout << "-------------------------------------------------------------------------------------------------------------------" << endl;
if (j != k)
cout << j + 1 << "\t";
else
cout << "";
count = 0;
}
cout << endl;
cout << "Max  = " << ik << " , Count = " << icount << endl;


ไม่มีความคิดเห็น:

แสดงความคิดเห็น