Sari la conținut
60:00

2023 · Varianta 7: Subiectul III · Bacalaureat 2023

Subprogramul DNPI are un singur parametru, n, prin care primește un număr natural (n∈[1,10^9]), și afișează pe ecran, separați prin câte un spațiu, toți divizorii pozitivi impari ai lui n care NU sunt primi.

Scrieți definiția completă a subprogramului.

Exemplu: dacă n=90, se afișează pe ecran, nu neapărat în această ordine, numerele

1 9 15 45

Raportează o greșeală

Ce este greșit?
rezolvare.cppScrie doar subprogramul DNPI
Cum este folosit ce scrii

Codul tău intră în programul de mai jos în locul marcat. Platforma îl compilează și îl rulează pe teste. Tu nu modifici nimic din restul programului.

#include <iostream>
#include <sstream>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;

stringstream iesire_elev;
char rand_elev[100];
#define cout iesire_elev
#define printf(...) (snprintf(rand_elev, sizeof rand_elev, __VA_ARGS__), iesire_elev << rand_elev)

// ▶ aici intră ce scrii tu

#undef cout
#undef printf

int main()
{
    int n;
    cin >> n;
    DNPI(n);
    vector<long long> v;
    long long x;
    while (iesire_elev >> x) v.push_back(x);
    sort(v.begin(), v.end());
    for (long long y : v) cout << y << ' ';
    return 0;
}