Example #1
0
int main(void) {
    print_prime_factors(77); // expected result:   77: 7 11
    print_prime_factors(84); // expected result:   84: 2 2 3 7

    // expected result:   429496729675917: 3 18229 7853726291
    print_prime_factors(429496729675917);


    return 0;
}
Example #2
0
/*
 * Le main de la source 
 * on prend un seul nombre
 */
int main()
{
	uint64_t n;
	scanf("%" SCNu64,&n);
	print_prime_factors(n);
	return 0;
}
Example #3
0
int main(int argc, char **argv)
{
	FILE *fi;
	if(argc < 2)
	{
		fi = fopen("question2.txt","r");
	}
	else 
	{
		fi = fopen(argv[1],"r");
	}
	
    if(fi == NULL)
    {
		perror("Erreur ouverture fichier");
		exit(-1);
	}
	else
	{
		 char line[128];
		 while(fgets(line,sizeof(line), fi) != NULL) /* read a line */
		  {
			 print_prime_factors((uint64_t) atoll(line));/* write the line */
		  }
		  fclose (fi);
	 }

    return 0;
}
Example #4
0
void workEntry(pthread_mutex_t * mutex)
{
    uint64_t lecture = 0;
	int fin;
	while (1)
	{
		pthread_mutex_lock(mutex); // vérouiller mutex
		fin = fscanf(fichier, "%ju", &lecture);
		pthread_mutex_unlock(mutex); // dévérouiller mutex
		if(fin<=0)
		{
			break;
		}
		print_prime_factors(lecture);
    }
}
void * run(void * param)
{
	uint64_t n;
	
	pthread_mutex_lock(&mutexScanf);
	while(fscanf(f, "%ld",&n) != EOF)
	{
		pthread_mutex_unlock(&mutexScanf);
		
		print_prime_factors(n);

		pthread_mutex_lock(&mutexScanf);
	}
	pthread_mutex_unlock(&mutexScanf);

	pthread_exit(NULL);
}
Example #6
0
//////////////////////////////////////////////////////////////////  PUBLIC
//---------------------------------------------------- Fonctions publiques
int main ( void )
{
	InitMemoire ( );
	racine = GetRoot ( );

	FILE * lecture = fopen ( "input.txt" , "r");

	uint64_t * nombre = malloc ( sizeof ( uint64_t ) );
	while ( EOF != (fscanf ( lecture, "%" PRIu64 "", nombre ) ) )
	{
		get_prime_factors ( * nombre );
		print_prime_factors ( * nombre );
	}

	End ( racine );
	return 0;
} //----- fin de Main
Example #7
0
void workEntry(pthread_mutex_t * mutex)
{

	uint64_t lecture = 0;
	int fin;
	while (1)
	{
		pthread_mutex_lock(&mutex[MUTEX_FICHIER]); // vérouiller mutexFichier
		fin = fscanf(fichier, "%ju", &lecture);
		pthread_mutex_unlock(&mutex[MUTEX_FICHIER]); // dévérouiller mutexFichier
		if(fin<=0)
		{
			break;
		}
		print_prime_factors(lecture, &mutex[MUTEX_ECRAN]);
	}
}
Example #8
0
static void * gestion_threads(void * np) //np=null
{
    
    char ligne [50];
    
    pthread_mutex_lock(&mtxCpt);
    while(fgets(ligne,sizeof(ligne),f) !=NULL)
    {
		pthread_mutex_unlock(&mtxCpt);
		uint64_t n = (uint64_t)atoll(ligne);
		print_prime_factors(n);
		pthread_mutex_lock(&mtxCpt);
	}
	
	pthread_mutex_unlock(&mtxCpt);
	
	return 0;
}
Example #9
0
void threadMain ( void * thrData )
{
	uint64_t nombre;
	facteur * nombreCalcule;

	//On veut lire, on protège
	pthread_mutex_lock ( &mutexLecture );
	while ( EOF != (fscanf ( lecture, "%" PRIu64 "", &nombre ) ) )
	{
		//Lecture effectuée, on rends l'accès
		pthread_mutex_unlock ( &mutexLecture );

		//Calcul des facteurs
		nombreCalcule = get_prime_factors ( nombre );

		//Affichage
		print_prime_factors ( nombreCalcule );
	}
	pthread_mutex_unlock ( &mutexLecture );
}
Example #10
0
void *routine()
{	char *str = malloc(sizeof(char)*25);
	char *end = malloc(sizeof(char)*25);
	do
	{	pthread_mutex_lock(&mtxCpt);
		if (file != NULL)
		{	end=fgets(str,25,file);
		} else
		{	printf("Impossible d'ouvrir le fichier.");
		} 
		pthread_mutex_unlock(&mtxCpt);

		if (end != NULL)
		{	print_prime_factors(atoll(str));
		}
	} while (end != NULL);
	
	free(str);
	free(end);
	
	pthread_exit(NULL);
}
Example #11
0
int print_properties_num(longnum num)
{
	printf("%llu:\nprime factors: ", num);
	print_prime_factors(num);
	printf("\n");

	if ( is_abundant(num) ) printf(" abundant");
	if ( is_amicable(num) ) printf(" amicable");
	if ( is_apocalyptic_power(num) ) printf(" apocalyptic_power");
	if ( is_aspiring(num) ) printf(" aspiring");
	if ( is_automorphic(num) ) printf(" automorphic");
	if ( is_cake(num) ) printf(" cake");
	if ( is_carmichael(num) ) printf(" carmichael");
	if ( is_catalan(num) ) printf(" catalan");
	if ( is_composite(num) ) printf(" composite");
	if ( is_compositorial(num) ) printf(" compositorial");
	if ( is_cube(num) ) printf(" cube");
	if ( is_deficient(num) ) printf(" deficient");
	if ( is_easy_to_remember(num) ) printf(" easy_to_remember");
	if ( is_ecci1(num) ) printf(" ecci1");
	if ( is_ecci2(num) ) printf(" ecci2");
	if ( is_even(num) ) printf(" even");
	if ( is_evil(num) ) printf(" evil");
	if ( is_factorial(num) ) printf(" factorial");
	if ( is_fermat(num) ) printf(" fermat");
	if ( is_fibonacci(num) ) printf(" fibonacci");
	if ( is_google(num) ) printf(" google");
	if ( is_happy(num) ) printf(" happy");
	if ( is_hungry(num) ) printf(" hungry");
	if ( is_hypotenuse(num) ) printf(" hypotenuse");
	if ( is_lazy_caterer(num) ) printf(" lazy_caterer");
	if ( is_lucky(num) ) printf(" lucky");
	if ( is_mersenne_prime(num) ) printf(" mersenne_prime");
	if ( is_mersenne(num) ) printf(" mersenne");
	if ( is_narcissistic(num) ) printf(" narcissistic");
	if ( is_odd(num) ) printf(" odd");
	if ( is_odious(num) ) printf(" odious");
	if ( is_palindrome(num) ) printf(" palindrome");
	if ( is_palindromic_prime(num) ) printf(" palindromic_prime");
	if ( is_parasite(num) ) printf(" parasite");
	if ( is_pentagonal(num) ) printf(" pentagonal");
	if ( is_perfect(num) ) printf(" perfect");
	if ( is_persistent(num) ) printf(" persistent");
	if ( is_power_of_2(num) ) printf(" power_of_2");
	if ( is_powerful(num) ) printf(" powerful");
	if ( is_practical(num) ) printf(" practical");
	if ( is_prime(num) ) printf(" prime");
	if ( is_primorial(num) ) printf(" primorial");
	if ( is_product_perfect(num) ) printf(" product_perfect");
	if ( is_pronic(num) ) printf(" pronic");
	if ( is_repdigit(num) ) printf(" repdigit");
	if ( is_repunit(num) ) printf(" repunit");
	if ( is_smith(num) ) printf(" smith");
	if ( is_sociable(num) ) printf(" sociable");
	if ( is_square_free(num) ) printf(" square_free");
	if ( is_square(num) ) printf(" square");
	if ( is_tetrahedral(num) ) printf(" tetrahedral");
	if ( is_triangular(num) ) printf(" triangular");
	if ( is_twin(num) ) printf(" twin");
	if ( is_ulam(num) ) printf(" ulam");
	if ( is_undulating(num) ) printf(" undulating");
	if ( is_untouchable(num) ) printf(" untouchable");
	if ( is_vampire(num) ) printf(" vampire");
	if ( is_weird(num) ) printf(" weird");

	printf("\n\n");
	return 0;
}
Example #12
0
/*
 * Procedure du deuxieme thread
 */
void print_prime_factors_t2(void)
{
	print_prime_factors(n2);
}
Example #13
0
/*
 * Procedure du premier thread 
 */
void print_prime_factors_t1(void)
{
	print_prime_factors(n1);
}
Example #14
0
/*
 * Procedure du premier thread 
 */
void print_prime_factors_t4(void)
{
	print_prime_factors(n4);
}
Example #15
0
/*
 * Procedure du premier thread 
 */
void print_prime_factors_t3(void)
{
	print_prime_factors(n3);
}