Untitled

 avatar
unknown
plain_text
9 months ago
2.0 kB
13
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <string.h>

int factorizer(int count2, int count3){
    if (count2 != 0 && count3 != 0)
    {
        for (int i=1; i<=count2-1; i++)
        {
            printf("2 X ");
        }
        printf("2");

        for (int i=1; i<=count3; i++)
        {
            printf(" X 3");
        }
    }
    else if (count2 != 0 && count3 == 0)
    {
        for (int i=1; i<=count2-1; i++)
        {
            printf("2 X ");
        }
        printf("2");
    }

    else if (count2 == 0 && count3 != 0)
    {
        for (int i=1; i<=count3-1; i++)
        {
            printf("3 X ");
        }
        printf("3");
    }
    return 0;
}

int main(){
    int num1, num2, num3, num1_count2=0, num1_count3=0, num2_count2=0, num2_count3=0, total2, total3;
    srand((unsigned)time(NULL));

    printf("===Make Perfect Square===\n\n");

    do {
        num1 = rand() % 17+4;
    } while(num1%2 != 0 && num1%3 != 0);

    do {
        num2 = rand() % 17+4;
    } while(num2%2 != 0 && num2%3 != 0);

    printf("Two non-prime integers between 1 and 20 are:\n");
    printf("num1:\t%d = ", num1);

    while (num1%2==0)
    {
        num1_count2 += 1;
        num1 /= 2;
    }
    while (num1%3==0)
    {
        num1_count3 += 1;
        num1 /= 3;
    }

    factorizer(num1_count2, num1_count3);
    if (num1 != 1)
    {
        printf(" X %d", num1);
    }
    printf("\n");
    printf("num2:\t%d = ", num2);
    while (num2%2==0)
    {
        num2_count2 += 1;
        num2 /= 2;
    }
    while (num2%3==0)
    {
        num2_count3 += 1;
        num2 /= 3;
    }
    factorizer(num2_count2, num2_count3);
    if (num2 != 1)
    {
        printf(" X %d", num2);
    }
    printf("\n");

    /*
    if ((num1 != num2) && (num1 != 0 || num2 != 0))
    {

    }
    */
    printf("%d %d", num1, num2);
    return 0;
}
Editor is loading...
Leave a Comment