View Code of Problem 91

#include <stdio.h>
#include <math.h>
using namespace std;

int getNum(int up){
    int findFlag;
    while(1){
        findFlag = 1;
        for(int i = 2; i*i <= up; i++){
            if(up%i == 0){
                findFlag = 0;
                break;
            }
        }
        if(findFlag)
            return up;
        up++;
    }
}
int main() {
    int n, tmp, firstFlag = 1;
    scanf("%d",&n);
    printf("%d=",n);
    for(int i = 2; i <= n;){
        tmp = getNum(i);
        i = tmp+1;
        if(!(n%tmp)){
            n /= tmp;
            if(firstFlag){
                printf("%d",tmp);
                firstFlag = 0;
            }
            else
                printf("*%d",tmp);
            i = 2;
        }
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 91