当前位置: 首页 > 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.zskr.cn/news/6122.html

相关文章:

  • 继承
  • HyperWorks许可监控
  • ThreadLocal
  • 我的大学规划
  • 理解 Linux 系统中的熵(Entropy)
  • ubuntu 18.04安装mysql8.4.5
  • Radxa E20C 安装 OpenWrt
  • 《ESP32-S3使用指南—IDF版 V1.6》第三十八章 SPIFFS实验
  • 神秘题
  • SQL Server 中的 STUFF 函数与FOR XML PATH详解 - 实践
  • 2025/9/16 总结
  • 2025ICPC网络赛第一场(A,B,C,D,G,I,M)
  • Google Maps
  • P4099 [HEOI2013] SAO
  • Linux chronyd 时间同步服务器,命令
  • ubuntu 22.04安装mysql8.0.41(glibc2.17)
  • 【2025-09-15】动起来了
  • 二叉树的层次遍历
  • 写了一个BBP算法的实现库,欢迎讨论
  • 统计建模库 statsmodels(时序单变量数据)
  • C++ std::unordered_map
  • Rust mut
  • 自动感应门的感应雷达怎么选型?
  • 一些寄存器相关的知识
  • 使用HTTPS 服务在浏览器端启用摄像头的方式解析
  • 5分钟SAE极速部署Dify,高效开发AI智能体应用
  • ruoyi-vue初步接触
  • AT_arc180_c [ARC180C] Subsequence and Prefix Sum
  • 如何快速看懂「祖传项目」?Qoder 强势推出新利器
  • 测试不再碎片化:AI智能体平台「项目资料套件」功能上线!