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

Se citește un număr natural n. Acest număr se “împarte” în alte două numere a și b, astfel: a este format din cifrele din prima jumătate a lui n, b este format din cifrele din a doua jumătate a lui n. Dacă n are număr impar de cifre, cifra din mijloc se ignoră. De exemplu, dacă n=9183792, atunci a=918, iar b=792. Să se determine valoarea absolută a diferenței dintre a și b.

Acest algoritm trebuie sa fie facut in pseudocod... nu ma prea pricep, daca ar fi fost pentru CodeBlocks mi-ar fi fost mai usor.

Răspunsuri la întrebare

Răspuns de blindseeker90
1
[n/10] este partea intreaga a impartirii lui n la 10
n%10 este restul impartirii lui n la 10
10^x este 10 la puterea lui x
|x| este valoarea absoluta(in modul) a lui x

intregi n,copie_n,a,b,nr_zecimale;
nr_zecimale=0
scrie "Introduceti numarul"
citeste n
copie_n=n
cat timp copie_n>0 executa
nr_zecimale=nr_zecimale+1
copie_n=[copie_n/10]
sfarsit
a=[n/10^(nr_zecimale-[nr_zecimale/2])]
b=n%10^([nr_zecimale/2])
scrie "Diferenta absoluta dintre a si b este " |a-b|

Aceasta a fost partea de pseudocod, mai jos este si partea de c++ daca vrei sa vezi cum s-ar aplica

#include <iostream>
#include <cmath>
using namespace std;

int main(){
int n,copie_n,a,b,nr_zecimale=0;
cout<<"Introduceti numarul:";
cin>>n;
copie_n=n;
//determina numar de zecimale 
while(copie_n>0){
nr_zecimale++;
copie_n=copie_n/10;
}
a=n/(int)pow(10,nr_zecimale-nr_zecimale/2);
b=n%(int)pow(10,nr_zecimale/2);
cout<<"Diferenta absoluta dintre "<<a<<" si "<<b<<" este:"<<abs(a-b);
return 0;
}

Alte întrebări interesante