超时(无语死

B2077 角谷猜想

LGZX @ 2024-02-01 15:46:07

#include<bits/stdc++.h>
using namespace std;
int main(void){
    long long n;
    cin>>n;
    while(n!=1){
        if(n%2==0){
            cout<<n<<"*3+1="<<n*3+1<<endl;
            n=n*3+1;
        }else{
            cout<<n<<"/2="<<n/2<<endl;
            n=n/2;
        }
    }
    cout<<"End";
    return 0;
}

求神犇解答Thanks♪(・ω・)ノ


by LGZX @ 2024-02-01 15:47:10

所以开了long long也不行啊


by 幻想繁星 @ 2024-02-01 15:50:45

@LGZX if(n%2==0)


by LGZX @ 2024-02-01 16:14:33

@幻想繁星 oh,谢谢


by cyx012113 @ 2024-02-07 17:44:54

@LGZX 用 n > 1!!!这样不会 TLE ,解决后用 long long 就不会 WA 了!!!


by LGZX @ 2024-02-09 20:35:06

@cyx012113 我已经解决了我的问题了,谢谢你的提醒,代码不需要,是判断错了,不是因为真正的超时


|