Rezolvare completă PbInfo #989 SumPerm

Cerința

Se dau n cifre zecimale: a1, a2, … , an. Determinaţi suma: \( S = \overline{a_1 a_2 … a_n} + \overline{a_n a_1 … a_{n-1}} + \cdots + \overline{a_2 a_3 … a_n a_1} \), în care fiecare termen este obţinut prin permutarea circulară spre dreapta a cifrelor termenului precedent cu o poziţie.

Date de intrare

Fișierul de intrare sumperm.in conține pe prima linie numărul n, iar pe a doua linie cele n cifre separate prin spații.

Date de ieșire

Fișierul de ieșire sumperm.out va conține pe prima linie numărul S, reprezentând suma calculată.

Restricții și precizări

  • 2 ≤ n ≤ 9

Exemplu

sumperm.in

3
2 5 4

sumperm.out

1221

Explicație

S=254 + 425 + 542 =1221.

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 SumPerm:

#include <iostream>
#include <fstream>

using namespace std;

ifstream fin ("sumperm.in");
ofstream fout("sumperm.out");

int main()
{
    int n , v[15];
    fin >> n;
    for(int i = 1 ; i <= n ; i ++)
        fin >> v[i];
    long long int s = 0;
    for(int k = 1 ; k <= n ; k ++)
    {
        int x = 0, p = 1;
        for(int i = n ; i > 0 ; i --)
            x += p * v[i], p *= 10;
        s += x;
        x = v[n];
        for(int i = n ; i > 1 ; i --)
            v[i] = v[i - 1];
        v[1] = x;
    }
    fout << s;
    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 Adresa de email.

Rezolvarea problemei #989 SumPerm

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #989 SumPerm 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!