Sumar dígits multiplicats per posició X93976


Statement
 

pdf   zip

html

Escriviu un programa que llegeix nombres d’entrada, i escriu el resultat de sumar cada dígit multiplicat per la seva posicó. Entenem que el dígit de més pes està a posició 1, el següent dígit de més pes està a posició 2, i així successivament.

Per exemple, donat el nombre 785902, el programa escriurà 86, que és el resultat d’avaluar 1×7+2×8+3×5+4×9+5×0+6×2.

Entrada

L’entrada té un nombre arbitrari de casos. Cada cas conté un natural positiu en una línia.

Sortida

Per a cada cas, hi ha una línia amb el corresponent nombre resultant de sumar cada dígit multiplicat per la seva posició.

Observació

No es poden utilitzar mètodes d’emmagatzemament massiu d’informació (com per exemple string o vector). Llegiu els nombres d’entrada un per un sobre variables int, per exemple amb cin >> a, i solucioneu el problema manipulant enters amb operacions bàsiques +,-,*,/,%.

Avaluació sobre 10 punts:

  • Solució lenta: 5 punts.
  • solució ràpida: 10 punts.

Entenem com a solució ràpida una que és correcta, de cost lineal i capaç de superar els jocs de proves públics i privats. Entenem com a solució lenta una que no és ràpida, però és correcta i capaç de superar els jocs de proves públics.

Public test cases
  • Input

    35102
    785902
    1010101
    101010
    1010101
    10101
    30219834
    410938
    99999999
    999999
    113311
    13221
    2
    3
    123456789
    

    Output

    26
    86
    16
    9
    16
    9
    159
    105
    324
    189
    35
    26
    2
    3
    285
    
  • Input

    4289384
    46930887
    81692778
    14636916
    57747794
    24238336
    19885387
    49760493
    96516650
    89641422
    25202363
    50490028
    83368691
    2520060
    44897764
    67513927
    65180541
    40383427
    4089173
    3455737
    35005212
    21595369
    94702568
    26956430
    36465783
    61021531
    78722863
    33665124
    45174068
    68703136
    1513930
    1979803
    15634023
    35723059
    69133070
    25898168
    59961394
    89018457
    28175012
    56478043
    31176230
    53377374
    59484422
    14544920
    8413785
    56898538
    34575199
    73594325
    49798316
    38664371
    

    Output

    159
    215
    229
    178
    228
    155
    230
    178
    141
    119
    112
    131
    194
    54
    223
    178
    117
    154
    132
    148
    73
    212
    184
    136
    198
    80
    176
    128
    171
    133
    89
    137
    99
    164
    103
    224
    192
    185
    97
    149
    99
    182
    141
    128
    149
    232
    220
    156
    192
    156
    
  • Information
    Author
    PRO1
    Language
    Catalan
    Other languages
    English Spanish
    Official solutions
    C++
    User solutions
    C++