当前位置: 首页 > news >正文

22222222 - idle

//为什么要攀登?因为山就在那里。
#include<bits/stdc++.h>
#define mrx 0x7f7f7f7f7f7f7f7f
//#define int long long
using namespace std;
inline int read(){int num=0,flag=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-') flag=-1;ch=getchar();}while(ch>='0'&&ch<='9'){num=(num<<3)+(num<<1)+(ch^48);ch=getchar();}return num*flag;
}
inline void write(int num){if(num<0) putchar('-'),num=-num;if(num>9) write(num/10);putchar(num%10+'0');
}
inline void print(int num){write(num);putchar('\n');
}
inline void out(int num){write(num);putchar(' ');
}
int ksm(int a,int b,int mod){int ans=1;while(b){if(b&1) ans=ans*a%mod;a=a*a%mod,b>>=1;}return ans;
}
int _;
int n;
int dfn,prime[6000000];
bool vis[100000010];
int ans;
signed main(){for(int i=2;i<=100000000;++i){if(!vis[i]) prime[++dfn]=i;for(int j=1;j<=dfn&&(long long)prime[j]*i<=100000000;++j){vis[prime[j]*i]=1;if(!(i%prime[j])) break;}}_=read();for(int k=1;k<=_;++k){n=read();ans=0;if(!vis[n]){print(n);continue;}for(int i=1;i<=dfn&&prime[i]*prime[i]<=n;++i){while(n%prime[i]==0){ans^=prime[i];n/=prime[i];}if(!vis[n]&&n!=1){ans^=n;n=1;break;}}if(n!=1) ans^=n;print(ans);}return 0;
}
http://www.wxhsa.cn/company.asp?id=5814

相关文章:

  • 继承
  • 我们究竟在用钱交换什么?
  • jupyterLab如何使用
  • HyperWorks许可监控
  • C++拷贝构造函数详解:从浅拷贝到深拷贝
  • ThreadLocal
  • K8S探针
  • 模拟赛
  • bug1
  • C#第十二天 025
  • 选择语句的机器级表示
  • pip常用命令
  • 我的大学规划
  • 深入解析:numpy学习笔记
  • 理解 Linux 系统中的熵(Entropy)
  • Nginx auth_request 模块使用
  • 用nssm将minio和srs注册成服务
  • Mac上的Markdown学习
  • ubuntu 18.04安装mysql8.4.5
  • Radxa E20C 安装 OpenWrt
  • 第三篇:配置浏览器
  • 第二篇:playwright初步解析
  • 高性能计算-TensorCore-hgemm
  • 第一篇:Playwright-Python安装与调试
  • P13695 [CEOI 2025] theseus 题解
  • 《ESP32-S3使用指南—IDF版 V1.6》第三十八章 SPIFFS实验
  • 技术交流社区基础防诈指南
  • 神秘题
  • 技术群高级防骗指南
  • 集训游记