[問題] UVa 100 The 3n+1 problem
雖然此題已經通過 AC 可是我還有一個地方弄不懂
題目:
英文
http://bit.ly/2JPfLVx
中文
https://zerojudge.tw/ShowProblem?problemid=c039
以下是通過 AC 的程式碼
#include <iostream>
using namespace std;
int main()
{
long long int i,j,n,temp,sum=1,max=0;
while(cin>>i>>j)
{
cout<<i<<" "<<j<<" ";
if(i>j){temp=i;i=j;j=temp;} //假如i大於j,則兩者交換,大數在右邊
//此 for 迴圈是對的
for(int k=i;k<=j;k++)
{
n=k; //一定要有這行
while(n!=1)
{
++sum;
if(n%2!=0){n=3*n+1;}
else {n=n/2;}
}
if(sum>max){max=sum;}
sum=1;
}
cout<<max<<endl;
max=0;
}
return 0;
}
我的問題是 for 迴圈改成這樣寫為什麼是錯的
//此 for 迴圈是錯的
for(n=i;n<=j;n++)
{
while(n!=1)
{
++sum;
if(n%2!=0){n=3*n+1;}
else {n=n/2;}
}
if(sum>max){max=sum;}
sum=1;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.112.117
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1532439052.A.671.html
→
07/24 21:34,
7年前
, 1F
07/24 21:34, 1F
推
07/24 21:45,
7年前
, 2F
07/24 21:45, 2F
→
07/25 00:18,
7年前
, 3F
07/25 00:18, 3F
→
07/25 10:07,
7年前
, 4F
07/25 10:07, 4F
→
07/25 10:07,
7年前
, 5F
07/25 10:07, 5F
→
07/25 10:12,
7年前
, 6F
07/25 10:12, 6F
→
07/25 10:12,
7年前
, 7F
07/25 10:12, 7F
推
07/25 12:59,
7年前
, 8F
07/25 12:59, 8F
推
07/26 02:13,
7年前
, 9F
07/26 02:13, 9F
→
07/26 02:13,
7年前
, 10F
07/26 02:13, 10F
→
07/26 02:14,
7年前
, 11F
07/26 02:14, 11F
→
07/26 11:23,
7年前
, 12F
07/26 11:23, 12F
→
08/01 20:36,
7年前
, 13F
08/01 20:36, 13F
→
08/01 20:36,
7年前
, 14F
08/01 20:36, 14F
→
08/01 20:37,
7年前
, 15F
08/01 20:37, 15F
→
08/01 20:37,
7年前
, 16F
08/01 20:37, 16F
→
08/01 20:39,
7年前
, 17F
08/01 20:39, 17F
→
08/01 20:39,
7年前
, 18F
08/01 20:39, 18F