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

Se dau n numere naturale divizibile cu 9, acestea se concatenează, se calculează suma cifrelor numărului obţinut, apoi suma cifrelor sumei obţinute şi tot aşa pînă se obţine o cifră, aceasta se înmulţeşte cu 7 obţinându-se un număr m, apoi se cere al m-lea număr triunghiular.
in c++

Răspunsuri la întrebare

Răspuns de NiceShotVi
1
O mica explicatie inainte de toate: Numerele concatenate, fiind divizibile cu 9, vor avea suma cifrelor intotdeauna un numar divizibil cu 9. (ex: pt 3123, suma va fi chiar 9). Suma cifrelor, fiind si ea divizibila cu 9, va avea suma cifrelor sale tot 9. Numarul mare nu trebuie format, iar numerele care se concateneaza nu trebuiesc nici macar citite (sau ma rog, sunt citite 'ca sa fie'), pentru ca suma cifrelor e MEREU 9, deci al m-lea numar triunghiular va fi 45.

#include <iostream>

using namespace std;

int main()
{
    int n, i;
    cin >> n;
    for(i = 0; i < n; i++)
        cin >> n;
    cout << 45;
    return 0;
}

AntiEaglesDavids: dar nu a zis in cerinta ca sumele care vor fi calculate sa fie neaparat divizibile cu 9. Primele n numere sunt divizibile cu 9 dar asta nu inseamna ca si suma sumelor ... sumelor va da 9? Ce treaba are una cu alta?
AntiEaglesDavids: ia de exemplu n = 3 si numerele 3339, 171, 225 => 3339171225
AntiEaglesDavids: 3+3+3+9+1+7+1+2+2+5=36
AntiEaglesDavids: 3+6=9
AntiEaglesDavids: 9*7=63 ?
AntiEaglesDavids: deci al 63-lea nr triunghilar?
AntiEaglesDavids: abia acum m-am prins de ce ai zis mai sus dar acum sa vedem cum vine numaru asta triunghiular
AntiEaglesDavids: da 2016 rezultatul final
AntiEaglesDavids: al 63-lea nr triunghiular e 2016
Alte întrebări interesante