#include < stdio.h >
int main()
{
  int n;
  printf("Enter a number:");
  scanf("%d", &n);
  int sieve[n];
  sieve[1]=0;
  for(int i=2; i<=n; i++){
    sieve[i]=1;
    for(int i=2; i*i<=n; i++){
        if(sieve[i]==1){
            for(int j=i*i; j<=n; j=j+i){
                sieve[j]=0;
            }
        }
    }
    for(int i=1; i<=n; i++){
        if(sieve[i]==1){
            printf("%d\n", i);
        }
    }
  }
  return 0;
}

asked 24 Jun, 13:28

stardestroyer77's gravatar image

stardestroyer77
315

edited 24 Jun, 21:33

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
1.0k18


এখানে প্রথম ফর লুপের ভেতর বাকি সবকিছু লেখা হয়েছে। কিন্তু এই লুপটি কেবল অ্যারেকে ইনিশিয়ালাইজ করার কথা ছিল। অর্থাৎ একটি ক্লোজিং কার্লি ব্রেসের ভুল অবস্থান এই দুরবস্থার জন্য দায়ী। নিচের কোডটি ঠিকঠাক রান হবে।

#include <stdio.h>

int main()
{
    int n;
    printf("Enter a number:");
    scanf("%d", &n);
    int sieve[n];
    sieve[1]=0;
    for (int i=2; i<=n; i++) {
        sieve[i]=1;
    }  // this was the issue
    for (int i=2; i*i<=n; i++) {
        if (sieve[i]==1) {
            for (int j=i*i; j<=n; j=j+i) {
                sieve[j]=0;
            }
        }
    }
    for (int i=1; i<=n; i++) {
        if (sieve[i]==1) {
            printf("%d\n", i);
        }
    }

    return 0;
}
permanent link

answered 24 Jun, 21:46

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
1.0k18

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×416
×7

question asked: 24 Jun, 13:28

question was seen: 50 times

last updated: 24 Jun, 21:46