add prime.c prime.py

main
KoyoNoguchi 2 months ago
parent 95aab4b49a
commit 46aac37f06
  1. 68
      prime.c
  2. 35
      prime.py

@ -0,0 +1,68 @@
#include<stdio.h>
#include<stdlib.h>
void findFactors(int num)
{
int i, exponent = 0;
printf("%d =", num);
while (num % 2 == 0)
{
exponent++;
num /= 2;
}
if (exponent > 1)
{
printf(" 2^%d *", exponent);
}
else if (exponent == 1)
{
printf(" 2 *");
}
for (i = 3; i * i <= num; i += 2)
{
exponent = 0;
while (num % i == 0)
{
exponent++;
num /= i;
}
if (exponent > 1)
{
printf(" %d^%d *", i, exponent);
}
else if (exponent == 1)
{
printf(" %d *", i);
}
}
if (num != 1)
{
printf(" %d *", num);
}
printf("\b \n");
}
int main(int argc, char *argv[])
{
int num;
if (argc != 2)
{
printf("Usage: %s <Integer>\n", argv[0]);
return 1;
}
num = atoi(argv[1]);
if (num <= 1)
{
printf("%d\n", num);
}
else
{
findFactors(num);
}
return 0;
}

@ -0,0 +1,35 @@
import sys
def findFactors(num):
exponent = 0
print(f"{num} =", end="")
while num % 2 == 0:
exponent += 1
num //= 2
if exponent > 1:
print(f" 2^{exponent} *", end="")
elif exponent == 1:
print(" 2 *", end="")
for i in range(3, int(num**0.5) + 1, 2):
exponent = 0
while num % i == 0:
exponent += 1
num //= i
if exponent > 1:
print(f" {i}^{exponent} *", end="")
elif exponent == 1:
print(f" {i} *", end="")
if num != 1:
print(f" {num} *", end="")
print("\b ")
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python prime.py <Integer>")
sys.exit(1)
num = int(sys.argv[1])
if num <= 1:
print(f"{num}")
else:
findFactors(num)
Loading…
Cancel
Save