Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

C Program

Name: Anonymous 2008-09-25 14:26

Programming newfag here. I'm trying to make a c program that determines whether a number is prime. It isn't working properly though. It only indicate that the number is not prime, regardless of the number, so something wrong. Anybody can help?

#include<stdio.h>

int main(void)
{

    int number;
    int count;
    int divisor = 2;
   
    printf("Input number for primality testing\n");
    scanf("d",number);
   
    while (divisor < number/2) {   
        if (number % divisor == 0) {
            break;   
        }
        else
            divisor++;
    }

    if (divisor == number/2) {
        printf("Number is prime\n");
    }
    else {
        printf("Number is not prime\n");
    }
    return 0;
}

Name: Anonymous 2008-09-26 1:55

>>26
    long int a;
            printf("%ld might be prime.\n", a);
what.

#include <stdbool.h>
#include <stdio.h>
#include <gmp.h>

bool is_prime(mpz_t n){
 bool ret = TRUE;
 mpz_t r, i, t;
 mpz_init(r);
 mpz_init(i);
 mpz_init(t);
 for(mpz_sqrt(r, n); mpz_cmp(r, i) > 0; mpz_add(i, i, 1))
  if(mpz_remove(t, n, i)){
   ret = FALSE;
   break;
  }
 mpz_clear(r);
 mpz_clear(i);
 mpz_clear(t);
 return ret;
}

int main(){
 mpz_t n;
 mpz_init(n);
 puts("Input number for primality testing");
 mpz_inp_str(n, stdin, 0);
 mpz_out_str(n, stdout, 0);
 puts(is_prime(n) ? "is prime." : "is not prime.");
 mpz_clear(n);
 return 0;
}

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List