Informatică, întrebare adresată de mihailv1610, 8 ani în urmă

IN C++ ; CU WILE si cu IF EVENTUAL , Prieteni noi 473
Cerință
Numerele au devenit foarte sociabile. Un număr A se poate împrieteni cu un număr B doar dacă B este divizibil cu A.

Programul scris de tine va trebui să citească numere naturale de la tastatură până în momentul în care valoarea citită e 0. Cu câte dintre numerele citite se poate împrieteni primul număr citit?

Date de intrare
Se citește șirul de numere până la întâlnirea lui 0. Numerele vor fi despărțite prin spații.

Date de ieșire
Se va afișa răspunsul întrebării din cerință, numărul elementelor cu care se împrietenește primul număr al șirului.

Restricții
Un număr se poate împrieteni cu el însuși
Se citesc maxim 100 000 de numere până la întâlnirea lui 0
0 nu face parte din șir
Elementele șirului sunt numere naturale cuprinse între 0 și 1 000

EXEMPLU :
4 8 3 5 4 0 .............. 3

VA ROG SI CU EXPLICATII ! MULTUMESC !

Răspunsuri la întrebare

Răspuns de andrei750238
24

#include <iostream>

using namespace std;

int main(){

   int a,b,nr=0;

//Citeste primul numar

cin >> a;

//Citeste numere si verifica daca sunt divizibile cu a cat timp numarul citit este nenul

do{

 //Citeste nr

 cin >> b;

 //Verifica ( si incrementeaza ) daca b se poate imprieteni cu a

 if(b%a==0)nr++;

}while(b);

//Afiseaza rezultatul

cout << nr;

}


andrei750238: E instructiunea repetitiva cu test final.
In mod normal ai while(conditie){instructiune}. Asta verifica daca conditia e indeplinita apoi ruleaza instructiunea.

Instructiunea repetitiva do{instructiune}while(conditie) mai intai ruleaza instructiunea apoi verifica daca conditia e indeplinita.
mihailv1610: poti sa faci fara do ?
mihailv1610: AM SCRIS IN ENUNT CA VREAU CU WHILE SI IF , ELSE IF !
andrei750238: Structura repetitiva cu test final poate fi transformata in structura repetitiva cu test initial prin copierea blocului de instructiuni din interior in fata testului.

do{
instructiune
} while(conditie)

devine

instructiune
while(conditie){}
andrei750238: instructiune
while(conditie){
instructiune
} *
andrei750238: Deci e foarte simplu sa transformi intre cele doua timpuri de structuri, acestea fiind echivalente.
andrei750238: https://pastebin.com/BqrZ3TLQ
mihailv1610: MULTUMESC MULT !
mihailv1610: Am pus pe platforma solutia si imi da 75 puncte
mihailv1610: Rezultatele evaluării
75 puncte
Ce am greșit?
Test Timp Scor
1 0.3960 Crash (SIGFPE)
2 0.3972 25
3 0.3979 25
4 0.7046 25
Alte întrebări interesante