绿题求调(悬一关)
  • 板块灌水区
  • 楼主hanyu0722
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/9/26 21:21
  • 上次更新2024/9/27 09:22:39
查看原帖
绿题求调(悬一关)
937522
hanyu0722楼主2024/9/26 21:21

题目链接


我的代码

#include<bits/stdc++.h>
using namespace std;
long long n;
unordered_set <long long> s;
long long pow1(long long a,long long b){
	if (b==1) return a;
	long long ans=pow1(a,b/2);
	return ans*ans*((b%2)?a:1);
}
int main(){
	cin>>n;
	long long a1=log(n)/log(2),a2,a3,a4;
	for (long long i=3;i<=a1;i++){
		a2=pow(n,1.0/i);
		for (long long j=2;j<=a2;j++){
			a3=pow1(j,i);
			a4=sqrtl(a3);
			if (a4*a4!=a3 && a3<=n) s.insert(a3);
		}
	}
	cout<<s.size()+(long long)(sqrtl(n));
	return 0;
}
2024/9/26 21:21
加载中...