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

Sa se determine cate cifre sunt utilizate in scrierea numerelor din intervalul [a,b], a si b se citesc de la tastatura.(exp+program C++)
URGENT DAU COROANA

Răspunsuri la întrebare

Răspuns de OiLoveYouO
1

Răspuns:

#include <iostream>

using namespace std;

int a, b, i, x, k;

int main ()

{

cout<<"a="; cin >> a;

cout<<"b="; cin >> b;

for (i = a; i <= b; i ++) {

x = i;

while (x > 0) {k++; x=x/10;}

}

cout << k;

return 0;

}

Explicație:

#include <iostream>

#include <iostream>using namespace std;

#include <iostream>using namespace std;int a, b, x, i, k;

in primul rand, k este variabila in care se retine numarul de cifre; k este variabila globala (declarata inainte de functia main) deci este initializata cu 0

int main ()

int main (){

int main (){cout<<"a="; cin >> a;

se citeste a

cout<<"b="; cin >> b;

se citeste b

for (i = a; i <= b; i ++) {

se parcurg numerele de la a la b (i-urile)

x = i;

se atribuie mereu valoarea unui "i" altei variabile-adica in variabila x se retine valoarea lui i

while (x > 0) {

cat timp exista cifre in x (cat timp x>0)

k++;

se mareste cu o unitate numarul total de cifre deoarece cu fiecare parcurgere a lui while se mai gaseste o cifra in x (pana nu mai raman)

x=x/10;

se elimina ultima cifra a lui x

}

}}

}}cout << k;

se afiseaza numarul total de cifre

return 0;

return 0;}

Exemplu:

a=15

b=26

i va lua valorile 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26

in total sunt 24 de cifre (12 numere a cate 2 cifre fiecare)

ca sa intelegi mai bine cum merge acel while:

initial k = 0

sa luam primul "x" ca fiind 15

pentru ultima cifra a lui x (adica 5) k creste cu o unitate si devine 1

x = x/10 adica i devine 1

pentru ultima cifra a lui x (adica 1) k creste o unitate si devine 2

x = x/10 adica x devine 0 si nu se mai executa while

Alte întrebări interesante