输出超限如何解决?

hbxtght 2010-12-20 06:47:06
素数
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:

素数就是只能被它自己和1整除的数。在这次的问题里,你需要删减出在1到N(包括N)的素数里的一些素数。你的程序要读入一个数N,决定素数段的长度然后如果中间有偶数个素数,输出中间C×2个,如果中间有奇数个素数,输出中间(C×2-1)个。

输入:

输入数据的每一行有两个数字,第一个数字(1<=N<=1000)表示要求的素数段在1和N之间。第二个数字(1<=C<=N)表示要求偶数情况下要输出的中间C×2个;或奇数情况下要输出的(C×2-1)个。

输出:

对于每一组输入的数据,你都要输出N,一个空格,C,一个冒号(:),然后是以上定义的要输出的素数列。如果要输出的素数数目多于时间有的素数,就输出所有的素数。每个数前面有一个空格。

输入样例:

21 2
18 2
18 18
100 7



输出样例:

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



提示:


来源:

2006西北工业大学程序设计竞赛决赛题B
我的代码:
#include<stdio.h>
#include<math.h>

int main()
{
int n,c,a[1000],i,j,k,p;
scanf("%d%d",&n,&c);
while(1)
{
k=0;
if(n==1)
printf("%d %d: 1\n",n,c);
else if(n==2)
printf("%d %d: 2\n",n,c);
else
{
for(i=3; i<=n; i+=2)
{
for(j=2; j<=sqrt(i)+1; j++)
{
if(i%j==0)
break;
}
if(j>sqrt(i)+1)
a[k++]=i;
}
if(k%2==0)
{
printf("%d %d:",n,c);
if(c*2<=k)
{
for(p=(k-c*2)/2-1; p<k/2+c-2; p++)
printf(" %d",a[p]);
printf(" %d\n",a[p]);
}
else
{
for(p=0; p<k-1; p++)
printf(" %d",a[p]);
printf(" %d\n",a[p]);
}
}
else
{
printf("%d %d:",n,c);
if(c*2-1<=k)
{
for(p=(k-c*2+1)/2-1; p<(k-1)/2+c-2; p++)
printf(" %d",a[p]);
printf(" %d\n",a[p]);
}
else
{
for(p=0; p<k-1; p++)
printf(" %d",a[p]);
printf(" %d\n",a[p]);
}
}
}
scanf("%d%d",&n,&c);
}
}
这个循环无法结束,出现输出超限,如何解决?还有就是这道题的输出样例怎么把1也作为素数了?
...全文
1464 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zy020118 2010-12-20
  • 打赏
  • 举报
回复
先把1000以内所有的素数求出来~~~再作处理
VB增强搜索插件 主要功能: 普通/模式搜索字符串 正则搜索、替换字符串 搜索结果列表 搜索结果相关代码预览 替换结果相关代码预览 可取消当前搜索操作 双击定位结果代码 更新记录: v2.3.0.74 调整过滤器应用时的算法 在快捷菜单中增加"显示搜索对话框"项 调整了显示代码预览的算法 修改过滤器帮助的网页地址到Google的Wiki v2.3.0.73 修改了预览窗体无法显示的问题 修改了切换结果元素时的处理方式 v2.3.0.72 在失去连接后删除内存中的对象 使用自绘列表控件代替CheckBox?式的自绘列表,解决了列表显示的问题 去除残留的ADO控件引用 取消了结果列表的缓冲模式 调整代码存储结构 修改/调整输出脚本 修改了没有搜索的时候显示结果列表导致VB崩溃的问题 v2.2.0.71 增加HelpID 默认过滤器增加ProcType?(过程类型) 修改了列表重绘时查询结果元素的算法,提高了重绘的速度 调整了列表的颜色属性 调整结果列表中高亮元素的显示方式 为搜索结果增加缓冲区,在到达一定数量后刷新列表 修改了列表元素个数超限的问题 v2.2.0.70 增加xml的TrimLine?相关属性,默认显示的时候不再带前边的空白字符 v2.2.0.69 ListBox?从Filter的xml中获取信息,进行重绘,加快了重绘速度并且不受用户修改代码的影响 修改了重绘焦点/选中元素的算法 修改热键的菜单名称 在回调函数返回之前清除Err对象 在ListPainter?关键函数中增加错误处理/显示代码 忽略RelativeText?函数的错误(此错误可能会导致IDE不稳定) v2.2.0.68 补充修改了ListBox?超限的问题 修改了ObjectCollection?,StringCollection?的实现方式 修改了横向滚动条的计算方式 修改了ListBox?重绘后失去焦点时不显示选中项目的问题 v2.2.0.67 调整文件名和类名 增加列表重绘代码,准备将匹配子串用粗体显示 修改了在显示时提取选中字符串的功能 调整了热键设定对话框的焦点处理方式 增加了列表重绘功能,可以在列表框中用粗体显示匹配项 用另一种颜色显示@Line之前的信息 调整了横向滚动条的算法 修改了过滤器无法立即应用的问题 修改了ListBox?元素可能会超限的问题 v2.1.0.66 (Beta 2) 修改了默认过滤器会输出转义字符的问题 修改了自定义热键第一次确定后无法保存的问题 修改了搜索完毕后会自动选中忽略大小写的问题 修改了无法定位第一个搜索结果的问题 v2.0.0.64 (Beta) 调整了内部结构 增加了自定义功能热键的功能 修改过滤器内核,将ADO改为XML+XSL,提高了过滤速度.
简易成绩分析系统使用说明 四川省泸州市纳溪区大渡中学 石明富制作 电话:13551664747 email:ddzx2122@sina.com ※※※※一、特色 1、EXCEL平台 本作品采用EXCEL 公式+VBA制作,既可根据你平时使用EXCEL的习惯和方式操作充分发挥EXCEL的功能,又能利用本作品提高效率。 2、结构紧凑,界面简洁 本作品仅有三四个工作表,分别是总表、表册、设置。你可以先在总表输入、导入、复制粘贴或在记录单逐条录入原始成绩,经设置表简单设置后即可在“表册”中根据你的需要自动生成各种表册,包括分班成绩册等各种表册、成绩单、各种统计表等。 ※※※※二、与众不同 本人曾上网搜索到EXCEL平台成绩管理系统不下20款,发现绝大多数都或多或少存在以下问题:总表(或成绩录入表)各项目名称、位置、格式均固定,如班级只能在某列输入且各班级名称必须采用统一格式(如“七(1)”、“七(2)”等)、各科目名称、顺序、录入范围固定等;如果采用公式制作的话,有些单元格还不能移除、拖动、删除等,否则公式会发生错误,当然一不小心公式被你删除或破坏那就更糟了。但本作品为你解决了这几个问题,与众不同: 1、限制条件少,通用性强 只需把原始成绩输入、导入、复制粘贴或在记录单逐条录入总表即可,对总表要求极为宽松:不必整理试卷、非顺序录入;各列(包括科目)名称、位置任意;不受班级、每班人数、科目等数量限制,行列不受限制。简言之,只要您原始成绩表是什么样,把它搞过来就行,只需注意本总表第一行为表格项目且有班级一列和不合并单元格即可,其它不受任何限制。 2、具有容错能力 也许您对函数和公式比较熟悉,知道当公式引用的单元格被移动或删除时公式往往会出错。本作品避免了这个问题。本作品成绩册、统计表和成绩单采用公式生成,数据均来源于总表。可是对总表您尽可放心大胆编辑、修改,对数据进行各种处理,比如可以进行排序、筛选、删除等操作,哪怕移动和删除任何一行、一列,删除任何一个单元格也无妨。 3、具有恢复能力 本作品对成绩册和成绩单,虽然采用函数和公式实现,但您仍可自由编辑排版以便输出,如编辑、修改、删除公式,删除行列,哪怕删除或者清空整张表也可,如果你进行了以上或者其他误操作,您只需重新点击相应按钮即可。 ※※※※三、主要功能 1、查询:查询条件多样,可按姓名查询、按班级查询(分班);按某学科(含总分)某分数段查询;按班内名次(年级名次)段查询(如某班前XX名、年级前XX-XX名)等,各种查询条件还可自由组合。对查询结果,可按某关键字排序后显示,如按班级排名升序可组合出某班全部或班前XX名、年级前XX名排名等,按年级排名升序可组合出年级前XX名排名或全部排名等。 2、统计:根据班级和科目(含总体)按统计范围自动实时生成各项指标(参考人数、平均分、及格人数、及格率、优生人数、优生率、差生人数、差生率等)、各分数段人数统计、年级前XX名在各班分布等。 3、成绩册和成绩条:实时自动按班生成成绩册和成绩条。 ※※※※三、操作指南 在总表中输入、导入、复制粘贴或在记录单逐条录入原始成绩,经设置表简单设置后即可在“表册”中根据你的需要自动生成各种表册,包括分班成绩册等各种表册、成绩单、各种统计表等。 其中,分班成绩册和成绩单、统计分别以VBA和公式两种方式制作,这两种方式各有特点,供你选择:公式方式的优点是当条件变化(如所选班级、科目变化)时显示结果随之实时变化,除非公式被破坏或者刚从其它表册转入本功能你才需要重新点击按钮;VBA方式每次改变条件后必须点击相应按钮才能刷新结果,但对结果你可随意进行各种操作。如果你觉得窗体有可能遮住结果,窗体可移动,可关闭,也可随时按CTRL+Q(W)打开,以便在EXCEL中按你熟悉的方式操作。另总表中还提供了按班级排序、填入总分、平均分、计算班级排名、年级排名、分数超限检查等多种自动化功能。 ※※※※四、温馨提示 1、本成绩分析设计历经本校多年实际应用,并多次修改,但仍不能保证完全符合你校实际,如果你在使用中发现本作品尚有不足的地方,请及时告知,以便进一步改进!如果你校有特别需求,本人愿完全免费为你校量身定做,本人目的在于希望能与广大同行一起交流交流。欢迎来电:13551664747. 2、本成绩分析工作表之间,相互引用,相互关联,不得随意更改删除,也不得对工作表重命名,否则将影响本成绩分析的正常使用。 3、操作前请做好数据备份

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧