noi 第n小的质数
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
输入一个正整数n,求第n小的质数。
- 输入
- 一个不超过10000的正整数n。
- 输出
- 第n小的质数。
- 样例输入
-
10
- 样例输出
-
29 一定要注意范围范围范围!!!!
开数组一定要注意!!!!!!
第一次很装逼的用了结构体,毕竟是会的东西之一,结果:
Runtime Error#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define M 10001 using namespace std;
int n;
struct Q{
int top;
int s[M];
void jiajia()
{
top++;
}
int add(int x)
{
s[top]=x;
}
Q()//初始化
{
top=;
}
}q; int pd(int x)
{
if(x==||x==) return ;
if(x%== || x==) return ;
int j=;
while(j<=sqrt(x)&&x%j!=) j+=;
if(x%j==) return ;
else return ;
} void Q_work()
{
q.jiajia();
q.add();
for(int i=;;i++)
{
if(pd(i))
{
q.jiajia();
q.add(i);
}
if(q.top>)
break;
}
} int main()
{
scanf("%d",&n);
Q_work();
cout<<q.s[n];
return ;
}1
吓的我赶紧改掉结构体里面的初始化,样例过了???
交上:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define M 10001 using namespace std;
int n;
struct Q{
int top;
int s[M];
void jiajia()
{
top++;
}
int add(int x)
{
s[top]=x;
}
}q; int pd(int x)
{
if(x==||x==) return ;
if(x%== || x==) return ;
int j=;
while(j<=sqrt(x)&&x%j!=) j+=;
if(x%j==) return ;
else return ;
} void Q_work()
{
q.jiajia();
q.add();
for(int i=;;i++)
{
if(pd(i))
{
q.jiajia();
q.add(i);
}
if(q.top>)
break;
}
} int main()
{
scanf("%d",&n);
Q_work();
printf("%d",q.s[n]);
return ;
}2
还是不对???
然后删掉结构体:
A了……
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define M 10001 using namespace std; int n,top;
int s[M]; int pd(int x)
{
if(x==||x==) return ;
if(x%== || x==) return ;
int j=;
while(j<=sqrt(x)&&x%j!=) j+=;
if(x%j==) return ;
else return ;
} void Q_work()
{
s[++top]=;
for(int i=;;i++)
{
if(pd(i))
{
s[++top]=i;
i++;
}
if(top>)
break;
}
} int main()
{
scanf("%d",&n);
Q_work();
printf("%d",s[n]);
return ;
}3
然而想不通的是:为什么不能使用结构体??
赶紧请教大佬,结果出人意料的错误出现了,详细请看代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
//#define M 10001就是这里!!数组开小了应该再加一!!!
#define M 10002 using namespace std; int n; struct Q{
int top;
Q()
{
top=;
}
int s[M];
void jiajia()
{
top++;
}
int add(int x)
{
s[top]=x;
}
}q; int pd(int x)
{
if(x==||x==) return ;
if(x%== || x==) return ;
int j=;
while(j<=sqrt(x)&&x%j!=) j+=;
if(x%j==) return ;
else return ;
} void Q_work()
{
q.jiajia();
q.add();
for(int i=;;i++)
{
if(pd(i))
{
q.jiajia();
q.add(i);
}
if(q.top>) //因为结束条件是q.top>10000所以需要使用到10001个,所以数组需要开到10002
//if(q.top>=10000) 或者上面不改,改这里
break;
}
} int main()
{
scanf("%d",&n);
Q_work();
printf("%d",q.s[n]);
return ;
}4
End.
noi 第n小的质数的更多相关文章
- NOI 1.5 44:第n小的质数
---恢复内容开始--- 描述 输入一个正整数n,求第n小的质数. 输入 一个不超过10000的正整数n. 输出 第n小的质数. 样例输入 10 样例输出 29 方法1:合数一定可以表示成一个比它小的 ...
- NOI 1.5编程基础之循环控制 44:第n小的质数
描述 输入一个正整数n,求第n小的质数. 输入 一个不超过10000的正整数n. 输出 第n小的质数. 样例输入 10 样例输出 29
- 39:第n小的质数
39:第n小的质数 总时间限制: 1000ms 内存限制: 65536kB描述 输入一个正整数n,求第n小的质数.输入 一个不超过10000的正整数n.输出 ...
- 第n小的质数
总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个正整数n,求第n小的质数. 输入 一个不超过10000的正整数n. 输出 第n小的质数. 样例输入 10 样例输出 29 代碼 ...
- NOI 2009A 诗人小G
NOI 2009A 诗人小G 诗人小G [问题描述] 小G是一个出色的诗人,经常作诗自娱自乐.但是,他一直被一件事情所困扰,那就是诗的排版问题. 一首诗包含了若干个句子,对于一些连续的短句,可以将它们 ...
- [BZOJ 1563] [NOI 2009] 诗人小G(决策单调性)
[BZOJ 1563] [NOI 2009] 诗人小G(决策单调性) 题面 一首诗包含了若干个句子,对于一些连续的短句,可以将它们用空格隔开并放在一行中,注意一行中可以放的句子数目是没有限制的.小 G ...
- 1.5编程基础之循环控制44:第n小的质数
#include<iostream>#include<cmath>using namespace std;int main(){ int n; cin>>n; in ...
- NOI 2009 诗人小G
题目描述 Description 小G是一个出色的诗人,经常作诗自娱自乐.但是,他一直被一件事情所困扰,那就是诗的排版问题. 一首诗包含了若干个句子,对于一些连续的短句,可以将它们用空格隔开并放在一行 ...
- java小程序 质数
package com.test; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; im ...
随机推荐
- Photon Server初识(四) --- 部署自己的服务Photon Server
准备工作: 1.一台 window 虚拟机(本机是window也行) 2.下载SDK : https://www.photonengine.com/zh-CN/sdks#server 一:SDK介绍 ...
- python — 函数基础知识(一)
目录 1 面向过程编程与函数式编程 2 函数的基本结构 3 函数的参数 1 面向过程编程与函数式编程 截至目前我们所接触.所写的编程为:面向过程式编程[可读性差/可重用性差] # 面向过程编程 use ...
- Job和Service
Job及CronJob: ---apiVersion: batch/v1kind: Jobmetadata: name: job-demospec: template: metadata: ...
- Istio技术与实践01: 源码解析之Pilot多云平台服务发现机制
服务模型 首先,Istio作为一个(微)服务治理的平台,和其他的微服务模型一样也提供了Service,ServiceInstance这样抽象服务模型.如Service的定义中所表达的,一个服务有一个全 ...
- Vasya's Function CodeForces - 837E (gcd)
大意: 给定$a,b$, $1\le a,b\le 1e12$, 定义 $f(a,0)=0$ $f(a,b)=1+f(a,b-gcd(a,b))$ 求$f(a,b)$. 观察可以发现, 每次$b$一定 ...
- WebStorm 2017 最新激活方式
刚开始使用WebStorm注册时,在打开的License Activation窗口中选择“activation code”,在输入框输入下面的注册码 43B4A73YYJ-eyJsaWNlbnNlSW ...
- POJ2773Happy2006题解--数论好题
题目链接 https://cn.vjudge.net/problem/POJ-2773 题意: 求第\(k\)个与\(m\)互质的数 分析 因为\(gcd(a,b)=gcd(a+t * b,b)\) ...
- 编写Dockerfile自定义镜像
要求 编写一个Dockerfile自定义centos镜像,要求在容器内部可以使用vim和ifconfig命令,并且登入落脚点为/usr/local 编写Dockerfile FROM centos M ...
- JS-闭包练习
首先,第一个输出,因为前置运算,i要先参与输出,然后再自增,所以输出为0 第二个输出,因为f1和f2是不同的函数,不共享i变量,所以输出也为0 第三个输出,因为是f1,共享i,所以i加了1,输出为1 ...
- 【SpringBoot】入门程序和机制分析
一.初建项目 首先要导入SpringBoot的Maven依赖 <!-- Inherit defaults from Spring Boot --> <!-- 这是SpringBoot ...