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

Se dau doua numere naturale nenule a și b, unde a<=b. Sa se determine câte numere naturale diviziunile cu 10 sunt in intervalul [a,b]

Anexe:

Răspunsuri la întrebare

Răspuns de Apollyon
1

Răspuns:

#include <iostream>

int

main()

{

 int primulNumar{}, alDoileaNumar{}, contorNumere{};

 std::cout << "Introdu cele doua numere (de ex. 19 90) >> ";

 /* citim cele două numere a și b */

 std::cin >> primulNumar >> alDoileaNumar;

/* METODA ITERATIVĂ */

 /* luăm toate numerele începând de la primul și până la ultimul */

 for (int i{ primulNumar }; i <= alDoileaNumar; i++) {

   /* dacă numărul curent e divizibil cu 10 incrementăm contorul */

   if (i % 10 == 0) {

     contorNumere++;

   }

 }

 /* // METODA MAI RAPIDĂ

 primulNumar % 10 == 0

   // dacă primul număr este divizibil cu 10 adăugăm un 1  (de ex. pentru 40 și 60 o să avem (60 / 10) - (40 / 10) = 6 - 4 = 2 DAR noi avem între 40 și 60 trei numere divizibile cu 10, de asta adăugăm 1 ca să-l luăm în calcul și pe primul!)

   ? contorNumere = (alDoileaNumar / 10) - (primulNumar / 10) + 1

   // altfel de exemplu pentru 19 și 90 avem (90 / 10) - (19 / 10) = 9 - 1 = 8

   : contorNumere = (alDoileaNumar / 10) - (primulNumar / 10); */

 /* la final afișăm contorul */

 std::cout << contorNumere << "\n";

 return 0;

}


kianaaa1: Mulțumesc mult!
Alte întrebări interesante