Cerința
Scrieți un program care citește un număr natural n și care să calculeze și să afișeze suma S a tuturor numerelor obținute prin permutări circulare 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, reprezentând suma cerută.
Restricții și precizări
nare cel mult100.000de cifre
Exemplu
Intrare
165
Ieșire
1332
Explicație
Numere obținute din 165 prin permutări circulare sunt 165, 651 și 516, iar suma lor este 1332.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema suma_perm_circ:
#include <iostream>
#include <cstring>
using namespace std;
void produs(int A[], int &n, int x)
{//inmulteste numarul mare din A cu numarul mic x
int t=0; //transportul
if(x==0) { n=1; A[1]=0; }
for(int i=1;i<=n;i++)
{
int c=A[i]*x+t;//inmultesc cifra si adun t
A[i]=c%10;//cifra
t=c/10;//transportul
}
while(t>0) //t se pune in fata cifra cu cifra
{
A[++n]=t%10;
t=t/10;
}
}
int main()
{
char s[100001];
int sc=0,A[110001];
cin>>s;
int nc=strlen(s);
for(int i=0;i<nc;i++)
{
sc=sc+s[i]-48;
A[i+1]=1;
}
produs(A,nc,sc);
for(int i=nc;i>=1;i--)
cout<<A[i];
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa
.
Rezolvarea problemei #3100 suma_perm_circ
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #3100 suma_perm_circ de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!