fbpx

Problema #2995 – Finserare – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Scrieți funcția inserare care primește ca parametru un număr natural n și furnizează prin intermediul aceluiași parametru numărul obținut din n prin inserarea, între oricare două cifre alăturate ale sale, a valorii absolute a diferenței acestora.

Restricții și precizări

  • 10 ≤ n ≤ 99999
  • Puteți apela funcția matematică abs.

Exemplu

Dacă n = 7255, atunci, după apelul inserare(n) valoarea lui n va fi 7523505.

Important

Soluția propusă va conține definiția funcției cerute. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.

#include <bits/stdc++.h>
using namespace std;

void inserare(int &n)
{
    int v[20] , p = 0;
    while(n)
        v[p]=n%10 , n/=10 , p++;
    int nr = 0;
    for(int i = p-1 ; i > 0 ; --i)
        n = n * 10 + v[i] , n = n * 10 + abs(v[i]-v[i-1]);
    n = n * 10 + v[0];

}
Comentarii

S-ar putea sa iti placa