ამოხსნების სტატუსი

ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.


გაგზავნის თარიღი: 24.11.2021 22:30:49

ამოცანა: მარტივი მამრავლები

მომხმარებელი: suto

ვერდიქტი: სრული ამოხსნა

შეფასება: 100.0 ქულა







#include <iostream>
#include <math.h>

using namespace std;

bool IsPrime(int n)
{
    if (n == 2) return true;
    if (n < 2 || n%2 == 0) return false;
    int lim = sqrt(n);
    for (int i=3; i<=lim; i+=2) {
        if (n%i == 0) {
            return false;
        }
    }
    return true;
}


int main()
{
    int n, div = 2;
    cin >> n;
    while (n > 1) {
        if (!(n%div) && IsPrime(div)) {
            cout << div << " ";
            n /=div;
        }
        else
            div++;
    }



    return 0;
}

ტესტები

შემავალი მონაცემები
12
გამომავალი მონაცემები
2 2 3
თქვენი პასუხი
2 2 3 
ჩეკერის პასუხი
YES
შემავალი მონაცემები
17
გამომავალი მონაცემები
17
თქვენი პასუხი
17 
ჩეკერის პასუხი
YES
შემავალი მონაცემები
32
გამომავალი მონაცემები
2 2 2 2 2
თქვენი პასუხი
2 2 2 2 2 
ჩეკერის პასუხი
YES
შემავალი მონაცემები
1248
გამომავალი მონაცემები
2 2 2 2 2 3 13
თქვენი პასუხი
2 2 2 2 2 3 13 
ჩეკერის პასუხი
YES
შემავალი მონაცემები
6597
გამომავალი მონაცემები
3 3 733
თქვენი პასუხი
3 3 733 
ჩეკერის პასუხი
YES
შემავალი მონაცემები
10350
გამომავალი მონაცემები
2 3 3 5 5 23
თქვენი პასუხი
2 3 3 5 5 23 
ჩეკერის პასუხი
YES
შემავალი მონაცემები
28955
გამომავალი მონაცემები
5 5791
თქვენი პასუხი
5 5791 
ჩეკერის პასუხი
YES
შემავალი მონაცემები
327960
გამომავალი მონაცემები
2 2 2 3 3 5 911
თქვენი პასუხი
2 2 2 3 3 5 911 
ჩეკერის პასუხი
YES
შემავალი მონაცემები
678689
გამომავალი მონაცემები
11 11 71 79
თქვენი პასუხი
11 11 71 79 
ჩეკერის პასუხი
YES
შემავალი მონაცემები
984728
გამომავალი მონაცემები
2 2 2 123091
თქვენი პასუხი
2 2 2 123091 
ჩეკერის პასუხი
YES