使用容斥原理求1000以内素数个数
基本思路就是求个合数个数,然后再倒着减,注意1的问题。
合数考虑最小因子不会大于n\sqrt{n}n,所以规模稍小。
离谱的是,我的亲爱的组合数学老师让我手速1-1000的素数个数,要求交一份latex的格式,于是我使用了打表法:
#include<bits/stdc++.h>
using namespace std;
int prime[11]={2,3,5,7,11,13,17,19,23,29,31};
struct Node{int sum,num,id;
};
queue<Node> Q;
int ans=0;
void BFS(){int cnt=0;for(int i=0;i<11;++i){Node now={prime[i],i,1};Q.push(now);}while(!Q.empty()){Node now=Q.front();Q.pop();cnt++;if((now.id % 2==1)){ans+=(1000/now.sum);}else{ans-=(1000/now.sum);}if(cnt&&(cnt%10==0)){cout<<((now.id % 2==1)?"+":"-")<<"\\lfloor \\frac{1000}{"<<now.sum<<"}\\rfloor\\\\"<<endl;}else{if(cnt%10==1)cout<<"&"<<((now.id % 2==1)?"+":"-")<<"\\lfloor \\frac{1000}{"<<now.sum<<"}\\rfloor"<<endl;elsecout<<((now.id % 2==1)?"+":"-")<<"\\lfloor \\frac{1000}{"<<now.sum<<"}\\rfloor"<<endl;}for(int i=now.num+1;i<11;++i){Node tmp;tmp.sum=now.sum*prime[i];tmp.num=i;tmp.id=now.id+1;if(tmp.sum>1000)continue;Q.push(tmp);}}
}
int main(){BFS();cout<<ans;
}
实际效果:
使用容斥原理求1000以内素数个数相关推荐
- c语言求1000以内素数个数的方法
求解的方法有很多,本文只介绍一种比较简单的方法. 算法:当输入的数字 n 不能被 2~(n - 1)整除时,n 为素数 反之,则 n 不为素数 源代码: #include< ...
- 求1000以内素数平均值
素数的定义 素数又称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数. 换句话说,只有两个正因数(1和自己)的自然数即为素数.比1大但不是素数的数称为合数. 1和0既非素 ...
- python之求1000以内素数
# 素数求法: i = 2 prime_number = [] while i < 1001:j = 2while j <= i:if i == j:prime_number.append ...
- C++中如何读取一个数的位数_求1000以内的水仙花数
点击上方 蓝字关注我们 大家好,我是阿汤哥. 看知乎上有朋友说还不明白怎么判断水仙花数,今天我们就来看看这个问题.(PS:"求1000以内的水仙花数"这道题阿汤哥记忆犹新.到现在还 ...
- 一道面试题:用多线程求1000以内的素数有多少个?并给出消耗时间
我曾经去一个公司面试,遇到这么一个题目:求1000以内的素数有多少个?用多线程实现,并给出消耗时间.我想了半天,没有想出多线程的解决方案.今天因为机缘到了,我浅谈下我的解法. 这道题,显然得考虑两个问 ...
- 求1000以内的全部素数
#include <stdio.h> #include <stdlib.h> #define MAXNUM 1000//定义一个最大数,现在是求1000以内的素数,定义为100 ...
- java求1000以内的回文素数_C语言求回文素数
任意的整数,当从左向右读与从右向左读是相同的,且为素数时,称为回文素数.求 1000 以内的所有回文素数. 算法思想 实例的重点是判断一个数是否是回文素数.要输出 1000 以内的所有回文素数,首先应 ...
- 求1000以内的所有素数(质数)
/* 求1000以内所有素数及素数个数 i<=(int)sqrt(1.0*n)即可 */ #include<iostream> #include<cstdio> #inc ...
- C语言求1000以内的素数
Today,让我来带大家学习怎样用C语言求1000以内的素数并输出 在这里,我用到的求素数的方法是用 i 除以 2 ~ i - 1 之间的每一个整数,如果都不能整除,那 i 就是素数,下面就不多说了, ...
最新文章
- Django链接数据库步骤
- CSS选择器的声明与嵌套
- 中国水产饲料市场发展深度调研及十四五前景预测报告2022年版
- Dell最近的几款显示器看上去还不错的样子
- UIButton在不同状态下显示不同背景色
- Ubuntu16.04下实时监控CPU/GPU内存的使用情况
- GNU C getopt()、getopt_long() 与 getopt_long_only() 获取命令行参数
- 开源一个简单的VC界面库
- GET 和POST的用法
- 强化学习——多智能体强化学习
- SAP中通过格式调整解决导出EXCEL表字段显示不全问题
- 一点思考 less interests more interest 选好一个行业慢慢积淀
- Spring集成elasticSearch,搭建、使用、加密
- 远程桌面无法连接远程计算机是什么原因?
- hdu2094 c语言
- porta rch_Smeerch.it
- php mysql 压力测试_MySQL的性能基线收集及压力测试
- 获取微信小程序的昵称和手机号
- MT5正版白标搭建。MT5CRM源码出售。
- Android 使用CameraX拍照,自动对焦,以及证件照剪切
热门文章
- 微信小程序手机号注册获取验证码+验证判断
- 如何监测高价值货物在物流运输过程中受到的振动和冲击?全面保障货物安全
- 设计模式_结构型模式学习
- java-php-python-springboot住院管理系统计算机毕业设计
- 实变函数与泛函分析(一)集合论
- C++虚析构函数和纯虚析构函数
- “圣洁拉萨 健康之旅” 2022拉萨文化和旅游消费季之四季旅游 巡回促销推介会圆满落幕
- Medkoo Biosciences 艾美捷Lusutrombopag说明书
- oppo R9 WLAN使用代理图解
- numpy-PDL-Pandas