I'm using gcc to compile the code listed below when I get the following error
error: expected '=', ',', ';', 'asm' or '__attribute__' before ' is_prime_number
Any pointers will be greatly appreciated. Thanks in advance.
error: expected '=', ',', ';', 'asm' or '__attribute__' before ' is_prime_number
Code:
/* * What is the largest prime factor of the number 317584931803? */ #include <stdio.h> #include <stdlib.h> bool is_prime_number(unsigned long number){ if(number < 2){ return false; } bool is_a_prime = true; unsigned long i; unsigned long factor = number/2; for(i=factor;i>1;i--){ if(number%i == 0){ is_a_prime = false; break; } } return is_a_prime; } int main(int argc, char* argv[]){ if(argc != 2){ fprintf(stderr, "Usage: ./euler_3 <number>\n"); exit(1); } unsigned long max_val, biggest, result, i; max_val = strtoul(argv[1], NULL, 10); biggest = max_val/2; //check in the reverse direction if the number is a factor of max_val for(i=biggest; i>1; i--){ if(max_val%i == 0){ //check if the number is a prime number if(is_prime_number(i)){ result = i; break; } } } printf("Largest prime factor: %d", result); exit(0); }
Comment