ACM 提交的时候老是runtime error
网站泄密TimeLimit:1000MSMemoryLimit:65536KTotalSubmit:599Accepted:207Description陈盖历回来后,给小...
网站泄密
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;
} 展开
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;
} 展开
1个回答
展开全部
你数组越界了
printf("%d\n",a[k-1]);
这里的话当k=0的时候也,就是说m1,m2之间没有数字是素数的情况下,你会错误。
还有,题目说是m1,m2之间的,如果m1大于m2的话要换一下
printf("%d\n",a[k-1]);
这里的话当k=0的时候也,就是说m1,m2之间没有数字是素数的情况下,你会错误。
还有,题目说是m1,m2之间的,如果m1大于m2的话要换一下
追问
我在printf("%d\n",a[k-1]);之前加了 if(k>0),然后对m1,m2比较了,还是WA
scanf("%d %d",&m1,&m2);
if(m1>m2)
{
temp=m1;
m1=m2;
m2=temp;
}
追答
n<2的时候不是素数,你没有判断
输入1 2你就错误了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询