中易网

OJ中总是worry answer。。

答案:2  悬赏:50  
解决时间 2021-12-22 06:01
题目
Description
A prime number is a counting number (1, 2, 3, ...)
that is evenly divisible only by 1 and itself. In this problem you are to write
a program that will cut some number of prime numbers from the list of prime
numbers between (and including) 1 and N. Your program will read in a number N;
determine the list of prime numbers between 1 and N; and print the C*2 prime
numbers from the center of the list if there are an even number of prime numbers
or (C*2)-1 prime numbers from the center of the list if there are an odd number
of prime numbers in the list.
Input
Each input set will be on a line by itself and will
consist of 2 numbers. The first number (1 <= N <= 1000) is the maximum
number in the complete list of prime numbers between 1 and N. The second number
(1 <= C <= N) defines the C*2 prime numbers to be printed from the center
of the list if the length of the list is even; or the (C*2)-1 numbers to be
printed from the center of the list if the length of the list is odd.
Output
For each input set, you should print the number N
beginning in column 1 followed by a space, then by the number C, then by a colon
(:), and then by the center numbers from the list of prime numbers as defined
above. If the size of the center list exceeds the limits of the list of prime
numbers between 1 and N, the list of prime numbers between 1 and N (inclusive)
should be printed. Each number from the center of the list should be preceded by
exactly one blank. Each line of output should be followed by a blank line.
Hence, your output should follow the exact format shown in the sample output.
Sample Input
21 2
18 2
18 18
100 7
Sample Output
21 2: 5 7 11

18 2: 3 5 7 11

18 18: 1 2 3 5 7 11 13 17

100 7: 13 17 19 23 29 31 37 41 43 47 53 59 61 67

我的程序,,自己测试时没问题的啊,怎么OJ一直报错
#include
#include
main()
{
int b,waitj,m=0,i;
int fuzhu=0;
int s;
int c;
int al;
int sushugeshu;
int w;
int maxxiabiao;
int maxnum,k,temp,pn[500];
system("cls");
scanf("%d%d",&maxnum,&c);
temp=maxnum;
for(k=0;kwaitj=temp;
temp=temp-1;
s=waitj-1;
for(i=1;i<=waitj-2;i++)
{
b=waitj%s;
s=s-1;
if(b==0)
goto ends;
}
pn[m]=waitj;
m=m+1;
ends:
printf("");
}
maxxiabiao=m-1;//m在pn[]赋值后又增大了1,故,pn最大下标应为m-1;现在令maxxiabiao为最大下标值
sushugeshu=m;//素数个数应当为下表+1,故sushugeshu=m
//printf("%d %d",sushugeshu,maxxiabiao);
if(m%2==0){
printf("%d %d:",maxnum,c);
if(c>(m/2))
c=(m/2);
for(w=m/2-c;wprintf(" %d",pn[m/2+c-fuzhu-1]);
fuzhu++;}}
if(m%2!=0){
printf("%d %d:",maxnum,c);
if(c>(m/2)+1)
c=(m/2)+1;
for(w=(m-1)/2-c+1;w<=(m-1)/2+c-1;w++){
printf(" %d",pn[(m-1)/2+c-1-fuzhu]);
fuzhu++;}}
error:
return 0;
}
最佳答案
估计你的问题是出在上限和下限上了 你试试 1 和 1000 看看对不对
全部回答
期待看到有用的回答!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我15岁,身高160,体重80,胸围74正常吗?
谁有白雪公主和七个小矮人成人 地址 发个给我
为什么旋转体能保持平衡
凋坠的意思是什么?凋坠的释义是什么啊?
为什么我的4k读取写入就慢了
黄葅的意思是什么啊?请解释下!
He walke to work every day.改为同一句 it&a
缯练的意思是什么?缯练的释义是什么啊?
永兴理发店怎么去啊,有事要去办理
为什么我的电脑在开机或重启之后网络连接断开
什么千什么万谢
Win7系统复制文件到U盘后发现无法显示怎么回
绘绚的意思是什么啊?请解释下!
悠悠球一只手做五角星
遺芬賸馥的意思是什么?遺芬賸馥的释义是什么
推荐资讯
震怖的意思是什么啊?请解释下!
手机开机后为什么老是自动就重新启动啊?
东莞市公证机构南华公证处地址在什么地方,想
靳秘的意思是什么?靳秘的释义是什么啊?
怎样能保持心态的平和?最近总是很烦躁,做事
洗衣机洗衣服的时候轰轰响是怎么回事?
浙江慈溪天元镇新溏下村有这个地方吗?
那字可以加什么偏旁
歌词中有轰烈烈的那些年
诏议的意思是什么啊?请解释下!
舉厝的意思是什么?舉厝的释义是什么啊?
负尸的意思是什么?负尸的释义是什么啊?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?