Before seeing the solution make sure that you tried enough. Don’t paste the whole code, just find out the logic. If you stuck in trouble, just inform me on comment.
/**Bismillahir Rahmanir Rahim.**/
#include <stdio.h>
void crossout(int b[], int n);
int main()
{
int n,i;
printf("Please, input the limit:\n");
scanf("%d", &n);
int a[n];
for(i=0; i<n; i++)
a[i]=i+1;
crossout(a, n);
return 0;
}
void crossout(int b[], int n)
{
int k,i;
int m = sqrt(n);
for(k=2; k<=m; k++)
{
if(b[k-1]!=1)
{
for(i= 2*k-1; i<n; i += k)
b[i]=1;
}
}
for(i=0; i<n; i++)
{
if(b[i]!=1)
printf("%d ", b[i]);
}
printf("\n");
}
0 comments:
Post a Comment
Note: only a member of this blog may post a comment.