pbinfo #499capitolul 2 · Cifre și prime tastatură → ecranMediepunctajul tău: eroare de compilare

Numarare5

Perechi de numere cu aceeași sumă a cifrelor

01

Enunțul pe scurt

Rezumat. Textul complet e pe pbinfo.

Primești n numere.

Numeri câte perechi de elemente au aceeași sumă a cifrelor. O pereche înseamnă două elemente de pe poziții diferite. Perechea (A, B) e aceeași cu (B, A), deci o numeri o singură dată.

ComparațieLa o petrecere, fiecare om dă mâna cu fiecare alt om o singură dată. Tu numeri doar strângerile de mână dintre oameni care au același «număr norocos» (suma cifrelor).
Primeștin, apoi n numere naturale.
AfișeziNumărul de perechi cu aceeași sumă a cifrelor.
02

Exemplu

Fă-l întâi pe hârtie, fără cod.

intrare
5
12 30 5 21 14
ieșire
4
De ceSumele cifrelor: 12→3, 30→3, 5→5, 21→3, 14→5. Perechi cu suma 3: (12,30), (12,21), (30,21). Perechi cu suma 5: (5,14). Total: 4.

Exemplul de aici e făcut pentru platformă și verificat cu soluția. Exemplul oficial îl găsești în enunțul de pe pbinfo.

Încă 2 teste
intrare 2
3
1 10 100
ieșire 2
3
Toate au suma cifrelor 1, deci 3 perechi.
intrare 3
4
1 2 3 4
ieșire 3
0
03

Animație pas cu pas

Mergi cu săgețile sau apasă Pornește. Poți pune și numerele tale.

v (Σ = suma cifrelor)
Σ3
12
0
Σ3
30
1
Σ5
5
2
Σ3
21
3
Σ5
14
4
cnt 0
1/12Sub fiecare număr am scris suma cifrelor lui (Σ). Comparăm fiecare pereche (i, j) cu j > i.
ce apare pe ecran
elementul curent bun / păstrat respins comparat ținut minte
04

Indicii

Deschide doar câte ai nevoie.

05

Scrie și rulează

Codul rulează direct în browser. „Verifică pe teste” compară rezultatul ca evaluatorul pbinfo.

compilatorul pornește la prima rulare
date de intrare (tastatură)
ecranul
Apasă Rulează ca să vezi rezultatul.
06

Ideea, pe pași

  1. Funcția SumaCifre.
  2. Citești vectorul.
  3. Pentru fiecare pereche (i, j) cu j > i, compari sumele cifrelor.
  4. Afișezi contorul.
07

Soluția comentată

Verificată automat pe toate testele de mai sus.

Soluția e ascunsă

Încearcă întâi singur(ă), cu indiciile și editorul de mai sus. Când vrei să compari sau te-ai blocat, deschide-o.

08

Greșeli de evitat

Ce a mers prost la încercarea taEroare de compilare: ai scris char[] x = {" "}. Ghilimelele duble înseamnă text (string); pentru un singur caracter trebuia ' '. Apoi ai apelat cif(x[i]) pe vectorul de separatori, în loc de vectorul cu numere.
  • ' ' (apostrof) = un caracter. " " (ghilimele) = text.
  • Al doilea for pornește de la i + 1, nu de la 0.
09

Întrebări

Două întrebări scurte. Se salvează cel mai bun scor.

ÎntrebăriÎntrebarea 1 din 2

Cât e SumaCifre(907)?