วันพุธที่ 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;
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น