Informatică
vasilicatirsu
2023-01-15 14:57:30
Cerinţa Scrieţi definiția completă a unui subprogram C++ i_prim care primește prin singurul său parametru, n, un număr natural cu cel mult 9 cifre și returnează diferența minimă p2-p1 în care p1 şi p2 sunt numere prime și p1≤n≤p2. Restricţii şi precizări numele subprogramului va fi i_prim n>2 Exemplu Dacă n=28, i_prim(n)=6, deoarece p1=23 și p2=29. Important Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Răspunsuri la întrebare
kitti111
2023-01-15 17:07:52

Nu-i complet :) (merge pe cateva cazuri (sau poate nu), te las pe tine sa completezi) int i_prim(int val) {     int p1, p2, ok;     p1 = p2 = val;     for(;;)     {         ok = 0;         for(int d=2; d*d<=p2; d++)             if(!(p2 % d)) { ok = 1; break; }         if(!ok) break;         p2++;     }     for(;;)     {         ok = 0;         for(int d=2; d*d<=p1; d++)             if(!(p1 % d)) { ok = 1; break; }         if(!ok) break;         p1--;     }     return p2 - p1; }

Adăugați un răspuns