2023 · Varianta 7: Subiectul III · Bacalaureat 2023
Subprogramul DNPI are un singur parametru, n, prin care primește un număr natural (n∈[1,109]), ș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
rezolvare.cppScrie doar subprogramul DNPI
Cum e 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 scrii și nu schimbi nimic din el.
#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;
}