2016-NJUST-count number

2023-12-25 09:58
文章标签 number count 2016 njust

本文主要是介绍2016-NJUST-count number,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     一次又一次的WA,是得到更好的AC的必经之路。


首先附上题目链接,当时并没有做出来,总感觉和欧拉函数有关,然而并没有用上,上网一搜,才发现竟然是容斥原理的入门题,天啊,这个都还没学,看来平时自己的积累才是王道,学习要主动,加油!!!


咦,为何题目图片传不上来。。。。。。


算了,直接上代码了

#include#include#define N 10000000
using namespace std;
int prime[N],cnt=0;
void creat_prime(int n)         //欧几里得算法 求 输入n所有的质因数
{
int i;
for(i=2;i*i<=n;i++){
if(n%i==0){
prime[cnt++]=i;
while(n%i==0){
n/=i;
}
}
}
if(n>1) prime[cnt++]=n;
}
int fun(int up)                     //求从 1-UP   内, 与n有 公因子 的 数字 的数量
{
int c,i,j,tp,sum=0;
for(i=1;i<(1<< cnt;j++){       // 循环所有因子
if(i & (1<>T;
while(T--){
cin>>a>>b>>n;
ans=cnt=0;
creat_prime(n);
ans+=b-fun(b)-(a-1-fun(a-1));   // 这个 就不用  说了吧,  但还是 要注意   用  a-1   而不是a
cout<< 

补充:刚学习了不用位运算,用数组来达到组合数的目的,原理大致相同,但写法不同,代码也上了,提醒自己一题多解
#include#include#define N 10000000
using namespace std;
int prime[N],cnt,tp[N],ans;
void creat_prime(int n)
{
int i;
for(i=2;i*i<=n;i++){
if(n%i==0){
prime[cnt++]=i;
while(n%i==0) n/=i;
}
}
if(n>1) prime[cnt++]=n;
}
int fun(int up)
{
int i,t=0,j,k,sum=0;
tp[t++]=-1; //保证奇加偶减
for(i=0;i>T;
while(T--){
scanf("%d%d%d",&a,&b,&n);
ans=cnt=0;
creat_prime(n);
ans=b-fun(b)-(a-1-fun(a-1));
cout<<

这篇关于2016-NJUST-count number的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/535100

相关文章

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

题目1380:lucky number

题目1380:lucky number 时间限制:3 秒 内存限制:3 兆 特殊判题:否 提交:2839 解决:300 题目描述: 每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然

Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号

步骤 1:安装 Version Number Plugin 登录 Jenkins 的管理界面。进入 “Manage Jenkins” -> “Manage Plugins”。在 “Available” 选项卡中搜索 “Version Number Plugin”。选中并安装插件,完成后可能需要重启 Jenkins。 步骤 2:配置版本号生成 打开项目配置页面。在下方找到 “Build Env

【Hdu】Minimum Inversion Number(逆序,线段树)

利用线段树在nlogn的时间复杂度内求一段数的逆序。 由于给的序列是由0 ~ n -1组成的,求出初始的逆序之后可以递推出移动之后的逆序数。 #include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const in

【JavaScript】基本数据类型与引用数据类型区别(及为什么String、Boolean、Number基本数据类型会有属性和方法?)

基本数据类型   JavaScript基本数据类型包括:undefined、null、number、boolean、string。基本数据类型是按值访问的,就是说我们可以操作保存在变量中的实际的值。 1)基本数据类型的值是不可变的 任何方法都无法改变一个基本类型的值,比如一个字符串: var name = "change";name.substr();//hangconsole.log

leetcode#38. Count and Say

The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 12. 113. 214. 12115. 111221 1 is read off as “one 1” or 11. 11 is read off

实践课堂|2016成都站|报名开始啦!

Hi,QingCloud 的小伙伴们,欢迎参加史上最有营养的云知识讲堂。 QingCloud 实践课堂系列开始于 2014 年末,在深圳、上海、广州、成都、杭州、北京六个城市,QingCloud 的研发工程师们同近千名 CIO 、架构师、开发者、运维工程师……分享了 QingCloud 的技术理念、功能特性和使用技巧,还有来自人民网、融云、泰捷视频、杏树林、友好速搭、百姓网、冰点、顺丰速运、洋葱

ORA-24067: exceeded maximum number of subscribers for queue ADMIN.SMS_MT_QUEUE

临时处理办法: delete from aq$_ss_MT_tab_D;delete from aq$_ss_MT_tab_g;delete from aq$_ss_MT_tab_h;delete from aq$_ss_MT_tab_i;delete from aq$_ss_MT_tab_p;delete from aq$_ss_MT_tab_s;delete from aq$

SQLSERVER排名函数RANK,DENSE_RANK,NTILE,ROW_NUMBER

SQL SERVER排名函数RANK,DENSE_RANK,NTILE,ROW_NUMBER 前言 本文意于用实例数据帮助理解SQL SERVER排名函数RANK,DENSE_RANK,NTILE,ROW_NUMBER。 准备工作 创建测试表:   ? 1 2 3 4 5 create table test( id int identity(1,1)

[LeetCode] 137. Single Number II

题:https://leetcode.com/problems/single-number-ii/ 题目大意 给定array,其中有一个元素只出现了1次,其他元素都出现了3次。 思路 求和 减去 (set(array)*3 - array)/2 作为答案。 class Solution {public int singleNumber(int[] nums) {Set<Long> se