社区讨论

我又来了QAQ

灌水区参与者 9已保存回复 16

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
16 条
当前快照
1 份
快照标识符
@lzdv2sja
此快照首次捕获于
2024/08/03 16:18
2 年前
此快照最后确认于
2024/08/03 17:32
2 年前
查看原帖

求此代码优化方法(TLE了QAQ)

CPP
#include<bits/stdc++.h>
using namespace std;
long long n;
int wqpfs(long long n) {
	long long m=sqrt(n);
	if(m*m==n) {
		return 1;
	} else {
		return 0;
	}
}
int main() {
	cin>>n;
	for(int i=1; i<=n; i++) {
		if(!wqpfs(i)) {
			continue;
		}
		int l=0,ans=0,he=0,m,x=i;
		int a[100]= {0};
		while(x) {
			a[l]=x%8;
			l++;
			x=x/8;
		}
		for(int j=0; j<l; j++) {
			ans+=a[j]*pow(10,j);
		}
		m=ans;
		while(ans!=0) {
			he=he*10+ans%10;
			ans=ans/10;
		}
		if(he!=m) {
			continue;
		}
			cout<<i<<" ";
	}
	return 0;
}

回复

16 条回复,欢迎继续交流。

正在加载回复...