【发布时间】:2015-01-02 11:28:29
【问题描述】:
Spoj 问题-
http://www.spoj.com/problems/PRIME1/
代码中存在逻辑错误且未运行。
IDE-代码块
int main()
{
int t,*prime;
long long int m,n,i,j;
//t for number of test cases
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%llu%llu",&m,&n);
prime=(int*)(malloc((n-m)*sizeof(int)));
//Initialising all elements as 1
for(i=0;i<m;i++)
{
prime[i]=1;
}
prime[0]=0;
prime[1]=0;
//Initialising all the multiples of primes as 0 as in sieve algorithm
for(i=m;i<n;i++)
{
if(prime[i]!=0){
for(j=2;j*i<=1000000000;j++)
{
prime[j*i]=0;
}
}
}
for(i=m;i<n;i++)
{
printf("%llu\n",i);
}
free(prime);
}
return 0;
}
【问题讨论】:
-
你忘了问问题!出于某种原因,该按钮被标记为
。另外,你的问题描述很差。究竟是什么逻辑错误?您如何尝试运行代码以及尝试时究竟会发生什么?当您尝试调试代码时会发生什么? -
它没有运行但编译时没有显示错误
-
“它不运行”不是一个有用的问题描述。你是如何尝试运行它的?当你尝试时会发生什么?在调试器中运行它会发生什么?你对它的运作进行了多长时间的追踪?您实际上需要什么帮助?
-
所以它甚至不要求输入?
-
好吧,我不知道如何使用调试器,但程序在运行时崩溃了。