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

Numarare4

Câte numere sunt prime cu ultimul

01

Enunțul pe scurt

Rezumat. Textul complet e pe pbinfo.

Primești n numere.

Numeri câte dintre ele (fără ultimul) sunt prime cu ultimul element.

Atenție: «prime între ele» NU înseamnă că numerele sunt prime! Înseamnă că singurul divizor comun e 1, adică cmmdc-ul lor e 1. De exemplu 8 și 9 sunt prime între ele, deși niciunul nu e prim.

ComparațieGândește-te la divizori ca la «prieteni comuni». Două numere sunt prime între ele când nu au niciun prieten comun în afară de 1, care e prietenul tuturor.
Primeștin, apoi n numere naturale nenule.
AfișeziCâte dintre primele n-1 numere au cmmdc 1 cu ultimul.
02

Exemplu

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

intrare
6
5 9 25 8 7 12
ieșire
3
De ceUltimul e 12. cmmdc(5,12)=1 ✓, cmmdc(9,12)=3 ✗, cmmdc(25,12)=1 ✓, cmmdc(8,12)=4 ✗, cmmdc(7,12)=1 ✓. Trei numere.

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
4 6 2
ieșire 2
0
intrare 3
4
1 9 10 3
ieșire 3
2
03

Animație pas cu pas

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

v
5
0
9
1
25
2
8
3
7
4
12
5
ultim 12cnt 0
1/7ultim = v[5] = 12 (galben). Îl comparăm cu toate celelalte.
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 Cmmdc (Euclid).
  2. Citești vectorul și reții ultim = v[n - 1].
  3. Pentru i de la 0 la n - 2: dacă Cmmdc(v[i], ultim) == 1, cnt++.
  4. Afișezi cnt.
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: new int =[n] (semnul = era în plus). Iar funcția ta de «prime între ele» nu era corectă; cu cmmdc e mult mai simplu.
  • «Prime între ele» ≠ «numere prime».
  • Ultimul element e v[n - 1], nu v[n].
  • Nu compara ultimul element cu el însuși.
09

Întrebări

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

ÎntrebăriÎntrebarea 1 din 2

Sunt 8 și 15 prime între ele?