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

In C++, cu for
Cerinta
Jucandu-se cu un sir de numere, Petru a descoperit ca numerele sale norocoase, sunt cele care pot fi scrise ca suma de 2 numere consecutive. Acesta vrea sa colectioneze toate numerele norocoase, aflate intr-un interval ales de el. Deoarece unele intervale sunt foarte mari, acesta va roaga pe voi sa ii scrieti un program care cauta numerele norocoase pentru el.



Date de intrare
Se vor citi de la tastatura 2 numere, a si b, reprezentand capetele intervalului deschis [a, b].



Date de iesire
Se vor afisa toate numerele norocoase din acest interval separate prin cate un spatiu.



Restrictii si precizari
1 ≤ a, b ≤ 1.000.000



Exemplu
Date de intrare Date de iesire
5 11 5 7 9 11


alexmysulica: #include
using namespace std;
int main ()
{
unsigned int a,b,j,i;
cin>>a>>b;
if (a>b)
{
unsigned int x=a;
a=b;
b=x;
}
for (i=a;i<=b;i=i+1)
{
if (i%2==0)
cout< }
return 0;
}
alexmysulica: asta e varianta mea, dar primesc doar 75 pct
alexmysulica: in if i%2!=0 si cout<

Răspunsuri la întrebare

Răspuns de Tere314
0

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int a, b, i; //declarare variabile

   cin >> a >> b; //citire variabile

   if (a%2==0) //daca a este par

       i=a+1; //primul nr norocos va fi succesorul lui a

   else

       i=a+2; //altfel, primul nr va fi urmatorul nr impar, deoarece intervalul considerat este deschis

   for (i; i<b; i=i+2) //parcurgem nr norocoase (toate nr impare consecutive), fara sa-l includem pe b

   {

       cout << i << " "; //afisam nr norocoase cu spatii

   }

   return 0;

}

Explicație:

/// e important sa consideram intervalul cu numere cuprinse intre a si b, fara a include capetele

/// precizare: un nr este norocos <=> x=2*k+1 (k+k+1)

/// intervalul se poate parcurge si din 1 in 1, dar trebuie verificat ca nr este impar


alexmysulica: In cerinta este precizat gresit ca este interval deschis. Este interval inchis. Am incercat codul tau, dar modificat pentru interval inchis si tot 75 pct
Tere314: poti te rog sa-mi spui numarul problemei (daca e de pe pbinfo)?
alexmysulica: Nu este... Este de aici https://platforma-de.info/problema/numerele-norocoase
Tere314: #include

using namespace std;

int main()

{

int a, b, i; //declarare variabile

cin >> a >> b; //citire variabile

if (a%2==0) //daca a este par

i=a+1; //primul nr norocos va fi succesorul lui a

else

i=a;

for (i; i<=b; i=i+2) //parcurgem nr norocoase (toate nr impare consecutive)

{

cout << i << " "; //afisam nr norocoase cu spatii

}

return 0;

}
Tere314: Dintr-un motiv sau altul, nu am primit rezultat de la evaluatorul lor online (doar se incarca), dar poti incerca varianta asta
Alte întrebări interesante