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
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
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Fizică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă