jeudi 28 janvier 2021

Boolen value isn't working properly in C Programming Language

I tried to make a prime number generator but I don't know why it's not working. Because according to the code, it should work fine. I used a if statement somewhere in the functions and I think it's getting a false value everytime when it should get a true value.

#include <stdio.h>
#include <math.h>
#include <stdbool.h>
bool isPrime(int num) {
    int sqroot = (int)sqrt((double)num);
    for (int i = 1; i <= sqroot; i++){
        if (num%i == 0){
            return false;
        }
    }
    return true;
}
void gen(int num){
    int counter = 0;
    for (int i = 2; i <= num; i++){
        if (isPrime(i)){
            counter++;
            printf("%d : %d\n", counter, i);
        }
    }
}
int main()
{
    int x;
    scanf("%d", &x);
    gen(x);
    return 0;
}

Aucun commentaire:

Enregistrer un commentaire