优化
如果一个数是素数,那么它的最小质因数肯定小于等于他的平方根,所以结束条件设置为
sqrt(x)
可减少循环次数提高程序性能。
纯属娱乐
#include <iostream>
#include <tuple>
#include <cmath>
int main(){
auto [is_prime,num]=[](int&& x){if(x==0||x==1) return std::make_tuple(false,x);for(auto i =2;i<=sqrt(x);++i){if(x%i==0) return std::make_tuple(false,x);}return std::make_tuple(true,x);}(97);
std::cout<<"num:"<<num<<" is prime ? "<<std::boolalpha<<is_prime;
return 0;
}
num:97 is prime ? true
num:10 is prime ? false
特性门
- 结构化绑定
- lambda表达式
- 右值引用
- 元组
- 输出控制