3 条题解
-
3
首先检查
n
是否为偶数,如果是,则最小质因子为2。然后从3开始,只检查奇数因子,直到sqrt(n)
,因为如果n
有一个大于其平方根的因子,那么它必定还有一个小于或等于其平方根的因子。如果在这个过程中没有找到任何因子,那么n
本身就是一个质数,其最小质因子就是它自己。代码除核心部分
已做处理复制会CE,请勿抄袭#include<bits\stdc++.h> using namespace std; typedef long long ll; const ll N = 1e9 + 10; #define I return #define love 0 #define KamisotoAyaka ; ll minn(ll n){ if(n%2==0) return 2; for (ll i=3;i<=sqrt(n);i+=2){ if(n%i==0) return i; } return n; } int main(){ int t; cin>>t; while(t--){ ll n: cin>>n; cout<<minn(n)<<endl; } I love KamisotoAyaka }
信息
- ID
- 763
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 92
- 已通过
- 26
- 上传者