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

Salut! Va rog mult sa mă ajutați la problemele 108 și 3246 de pe pbinfo. 108 trebuie făcută cu o funcție ce returnează prima cifra și 3246 trebuie făcută cu o funcție ce verifica daca un număr este echilibrat. Rezolvare C++.​

Răspunsuri la întrebare

Răspuns de Sergetec
1

Salut!

Ai rezolvarile in C++ mai jos

108.

#include <iostream>

using namespace std;

int pc(int n)

{

  while (n > 9)

  {

      n /= 10;

  }

  return n;

}

int main()

{

  int n;

  cin >> n;

  int prima_cifra, cnt = 0;  

  if(n == 0)

      cout << 1;

  else{

      prima_cifra = pc(n);

      while(n > 0){

          if(n % 10 == prima_cifra)

              cnt++;

          n/=10;

      }

      cout << cnt;

  }

  return 0;

}

3246.

#include <iostream>

using namespace std;

int nrcif(int n)

{

 int cnt = 0;

 while (n)

 {

   cnt++;

   n /= 10;

 }

 return cnt;

}

int cifpar(int n)

{

 int cnt = 0;

 while (n)

 {

   int c = n % 10;

   if (c % 2 == 0)

   {

     cnt++;

   }

   n /= 10;

 }

 return cnt;

}

int cifimp(int n)

{

 int cnt = 0;

 while (n)

 {

   int c = n % 10;

   if (c % 2 != 0)

   {

     cnt++;

   }

   n /= 10;

 }

 return cnt;

}

int main()

{

 int a, b;

 cin >> a >> b;

 long long s = 0;

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

 {

   if ((nrcif(i) % 2 == 0) && (cifpar(i) == cifimp(i)))

   {

     s += i;

   }

 }

 cout << s;

 return 0;

}


ciprian4851: Mulțumesc enorm! Seara faina!
Alte întrebări interesante