http://www.spoj.com/problems/PRIME1/ так что это задача, которую я должен решить, и я попытался ее решить и не смог. Я написал несколько кодов, и никто из них не работает достаточно хорошо, но мой последний удивил меня, потому что он показывает случайную граффити без причины. Это код, написанный на языке C.Генератор числа простых чисел
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
int i=0,r=0,j,t,n,m,koren,f,pom; /*koren=square root, pom=tmp rez=solution*/
int rez [100];
scanf("%d \n", &t);
for(i=0;i<=t;i++){
scanf("%d%d \n",&n,&m);
if (n%2==0)
{
n+=1;
} /* it is supposed to skip every even number */
for(j=n;j<=m;j=j+2){
koren=round(sqrt(j));
for(f=2;f<=koren;f++){
if (j % f != 0){pom=j;}else{pom=0;break;}
}
if(pom>0){rez[r]=pom;r++;}
}
}
for (i=0;i<=r;i++)
{
printf("%d \n",&rez[i]);
}
return 0;
}
Любая suggestionsand помощь будет оценена.
Прошу прощения, если я допустил ошибки на языке, это не мой родной.
Что выход? –
'printf ("% d \ n ", & rez [i]);' почему вы печатаете * адрес * 'rez [i]'? –
Кроме того, что вы пытаетесь сделать с помощью 'scanf ("% d% d \ n ", &n,&m);'? – haccks