print all prime factors of a given number code example
Example 1: python prime factors
# There is no quick way to calculate the prime factors of a number.
# In fact, prime factorization is so famously hard that it's what puts the "asymmetric" in asymmetric RSA encryption.
# That being said, it can be sped up a little bit by using divisibility rules, like checking if the sum of the digits is divisible by 3.
def factors(num):
ps = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149] # Primes from https:
pdict = {}
for p in ps:
if p <= num:
while (num / p).is_integer():
if str(p) in pdict:
pdict[str(p)] += 1
else:
pdict[str(p)] = 1
num /= p
if num == 1: break
return pdict
# Returns a dictionary in the form {"base": "exponent"}
Example 2: prime factorization in c
#include <stdio.h>
#define MIN 100
#define MAX 100000
int main(){
int pdiv=2,j;
for (int num=MIN;num<=MAX;num++){
printf("The prime factors of %d are:\n",num);
j=num;
do {
if (j%pdiv==0)
{
printf("%d\n",pdiv);
j=j/pdiv;
}else
{
pdiv++;
}
}while(j>1);
pdiv=2;
}
}