Informatică, întrebare adresată de brainly702, 8 ani în urmă

#2547

Cerința

Se citesc două numere naturale a și b (a < b) având cel mult 9 cifre fiecare. Afișați câte numere din intervalul [a, b] au exact 3 divizori.


Date de intrare

Programul citește de la tastatură numerele a și b, separate printr-un spațiu.


Date de ieșire

Programul va afișa pe ecran numărul de numere din intervalul [a,b] care au exact 3 divizori.


Restricții și precizări

1 ≤ a < b < 1.000.000.000



Exemplu

Intrare


11 50

Ieșire


2

Explicație

Numerele din intervalul [11,50] care au exact 3 divizori sunt 25 și 49.


pt 80 puncte pe pbinfo va rog

dau coroana

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai rezolvarea in C++ mai jos

#include <iostream>

using namespace std;

int main() {

   int a, b, cnt = 0;

   cin >> a >> b;

   for (int i = 2; i * i <= b; ++i) {

       if (i * i <= b && i * i >= a) {

           bool prim = true;

           for (int j = 2; j * j <= i && prim; ++j) {

               if (i % j == 0) {

                   prim = false;

               }

           }

           if (prim) {

               cnt++;

           }

       }

   }

   cout << cnt;

   return 0;

}

Explicatie:

  • Un nr are exact 3 divizori cand este patratul unui numar prim
Alte întrebări interesante