警示:不开long long会TLE为什么
查看原帖
警示:不开long long会TLE为什么
1303746
Internet_Explorer_14楼主2024/3/31 10:46
//会TLE
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	for(bool b=n!=1;b=n!=1;){
		if(n%2)cout<<n<<"*3+1="<<n*3+1<<endl,n*=3,n++;
		else cout<<n<<"/2="<<n/2<<endl,n/=2;
		if(n==1)b=0;
	}
	cout<<"End";
	return 0;
}
//AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	long long n;//注意
	cin>>n;
	for(bool b=n!=1;b=n!=1;){
		if(n%2)cout<<n<<"*3+1="<<n*3+1<<endl,n*=3,n++;
		else cout<<n<<"/2="<<n/2<<endl,n/=2;
		if(n==1)b=0;
	}
	cout<<"End";
	return 0;
}

至于为什么,咱也不知道,咱也不敢问

2024/3/31 10:46
加载中...