永发信息网

ACM 提交的时候老是runtime error

答案:1  悬赏:10  手机版
解决时间 2021-12-30 10:28
网站泄密

Time Limit:1000MS Memory Limit:65536K
Total Submit:599 Accepted:207

Description

陈盖历回来后,给小娥一个不幸的消息,网站密码泄露了,银行密码泄露了。让小娥赶快就修改密码。小娥追问道,密码不是加密了吗?怎么会泄密?当然有些没有加密,有些加密算法很简单。陈盖历还告诉小娥,素数在加密学中起了很大的作用。
现在告诉你2个数,你能找出这2个数之间所有的素数吗?

Input

首先输入一个整数n表示n组测试数据
然后是n行,每行输入2个整数m1和m2

Output

输出m1和m2之间的所有素数(包括m1 m2)

Sample Input

2
2 10
5 21
Sample Output

2 3 5 7
5 7 11 13 17 19
我写的代码:
#include<stdio.h>
#include<math.h>
int is(int number)
{
int i;
for(i=2;i<=sqrt(number);i++)
{
if(number%i==0)
{
return 0;
}
else
{
continue;
}
}
return 1;
}
int main()
{
int n,i,j,a[100000],k;
int m1,m2;
scanf("%d",&n);
for(j=0;j<n;j++)
{
k=0;
scanf("%d %d",&m1,&m2);
for(i=m1;i<=m2;i++)
{
if(is(i)==1)
{
a[k]=i;
k++;
}
}
for(i=0;i<k-1;i++)
{
printf("%d ",a[i]);
}
printf("%d\n",a[k-1]);
}
return 0;
}
最佳答案
你数组越界了
printf("%d\n",a[k-1]);
这里的话当k=0的时候也,就是说m1,m2之间没有数字是素数的情况下,你会错误。
还有,题目说是m1,m2之间的,如果m1大于m2的话要换一下
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
听说聚米网这个保险平台挺可靠是不是真的?
转化率是什么意思
步进电机细分通过软件还是硬件呢?
要流泪的时候,抬头看下天空。那样眼泪就不会
没开网银可以转账吗
白色貂皮大衣是乳白的好?还是纯白的?
湖北襄阳座机前一位数是不是8
兰州西固小平房小区又叫
从合肥的肥东到肥西有多少公里?
如图所示,玻璃容器侧壁上有三个高度不同的小
狗狗一个多月用干粉洗澡可以吗吧
这是什么符号,一个圈加一个箭头♂,还有一个
车空调频繁启动,启动时还有风扇哒哒的声音是
男人在银行工作好吗
贺家饭庄在哪里啊,我有事要去这个地方
推荐资讯
QQ卸载了重新安装以后,原来的设置会不会重置?
装饰公司名称
别克英朗仪表台故障灯解释
移动网卡多少钱一个月
我他妈还能说什么
做梦梦到龙是什么意思
These booksvery interesting. Many children
饥荒怎么用石墙把地形边缘围起来(石墙在边缘
我想买一部电视剧的碟片谁知道哪里有买的
饼干放一晚上受潮了吃了,会有副作用吗
个性优缺点怎么描述
显卡驱动英文版与中文版有什么差别
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?