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

Problema circular #3076 de pe pbinfo va rog:
Cerința
Scrieți un program care citește un număr natural n și care să calculeze suma S a tuturor numerelor obținute prin permutări circulare la dreapta ale cifrelor lui n cu o poziție.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Programul va afișa pe ecran numărul S, cu semnificația din enunț.

Restricții și precizări
1 ≤ n ≤ 2.000.000.000

Exemplu
Intrare

123
Ieșire

666
Explicație
S-au citit n=123. Suma calculată este S=666 (=312+231+123).

Răspunsuri la întrebare

Răspuns de 1Viserys
0

Răspuns:

Explicație:

#include <iostream>

#include <math.h> //avem nevoie pt a folosi functia putere

using namespace std;

int main {

int x; cin>>x; int cx=x;

int nrcif=0, suma=0;

while(cx)

{

nrcif-=-1;    //echivalent cu a scrie nrcif++, dar prefer prima notatie

cx/=10;

}

int cnrcif=nrcif;

while(cnrcif)

{

suma+=x;

x=(x%10)*pow(10,nrcif-1)+x/10;

cnrcif--;

}

cout<<suma;

return 0;

}


laurstefan2002: Da doar 60p
laurstefan2002: Daca vr coroana fa de 100 te rog
Alte întrebări interesante