Informatică, întrebare adresată de sanziana009, 9 ani în urmă

c++: Subprogramul identice are doi parametri, a și b, prin care primește câte un număr
natural (10≤a≤b≤106). Subprogramul afișează pe ecran toate numerele naturale din
intervalul [a,b] care au toate cifrele identice.
Exemplu: pentru a=700 și b=1500 se afișează pe ecran
777 888 999 1111


stassahul: Bun exemplu, este scris a,b<=106 si in exemplu a=700 si b=1500
sanziana009: asa e din varianta de bac pt olimpici :)) cei care au facut-o au gresit
stassahul: Mda, asa greseala in plus de la 10 pin la 106 is numarate numere (11..99)
sanziana009: deci, stii cum se rezolva problema?:)
stassahul: Stiu, dar nu stiu c++, stiu doar pascalu :)
sanziana009: of
sanziana009: merci oricum!
StarBack: Buna seara! In varianta de bac "b"-ul este "<= 10 la puterea a -6-a".
sanziana009: ai dreptate, greseala mea atunci :) n am fost atenta

Răspunsuri la întrebare

Răspuns de StarBack
7
Salut. Uite aici rezolvarea problemei. Succes in continuare!


#include "stdafx.h"
#include <iostream>

using namespace std;

bool cifre(int numar)
{
        int c = numar % 10;

        while (numar > 0)
        {
               if (numar % 10 == c)
                        numar /= 10;
                else
                        break;
        }

      return (numar == 0);
}


void identice(int a, int b)
{
        for (int i = a; i <= b; i++)
        {
                  if (cifre(i))
                        cout << i << " ";
        }
}

int main()
{
        int a, b;
        cin >> a >> b;

        identice(a, b);
}

sanziana009: Merci frumos si o seara faina !
Alte întrebări interesante