Welcome, Guest. Please login or register.

Autor Subiect: numere prietene  (Citit de 9460 ori)

0 Membri şi 1 Vizitator vizualizează acest subiect.

Ayumi

  • Vizitator
numere prietene
« : Decembrie 20, 2011, 08:21:37 p.m. »
Buna seara !
Imi puteti spune de de ce nu merge programul meu ? Trebuie sa afisez toate numerele prietene mai mici sau egale decat un numar n introdus de la tastatura. (2 numere sunt prietene daca diferenta dintre ele este de 2 si sunt amandoua numere prime) De exemplu,pentru n = 11 se va afisa (3,5);(5,7).
#include <iostream>
using namespace std;

int main()
{
int a,b,n,ok1,ok2,d1,d2;//am folosit variabilele ok1 si ok2 pt. a verifica daca numerele a si b sunt prime
    for (a = 3;a < n;a++)
    {
        ok1 = 0;
        for (d1 = 2;d1 <= a/2; d1++)
        {
            if (a % d1 == 0) ok1 = 1;
        }
        if (ok1 == 0)
        {
            b = a+2;
            ok2 = 0;
            for (d2 = 2;d2 <= b/2;d2++)
            {
                if (b % d2 == 0)ok2 = 1;
         
            }
            if (ok2 == 0)cout << "(" << a << "," << b << ")" << ";";
           
          }
        }

return 0;
}

andrei.92

  • Vizitator
Răspuns: numere prietene
« Răspuns #1 : Decembrie 20, 2011, 10:05:17 p.m. »
Probabil pentru ca lipseste un: cin>>n; (sau daca vrei: cout<<"Introduceti numarul de la tastatura:"; cin>>n;)                                                                                     
« Ultima Modificare: Decembrie 20, 2011, 10:07:59 p.m. de andrei.92 »

Ayumi

  • Vizitator
Răspuns: numere prietene
« Răspuns #2 : Decembrie 20, 2011, 10:08:33 p.m. »
Da,nu imi vine sa cred. Nu stiu cum de nu am observat acest lucru :)) Aveam impresia ca am scris cin >> n :))
Imi pare rau... Greseala mea

Offline mircea_p

  • Senior
  • ****
  • Mesaje postate: 1979
  • Popularitate: +140/-12
Răspuns: numere prietene
« Răspuns #3 : Decembrie 20, 2011, 10:31:41 p.m. »
Buna seara !
Imi puteti spune de de ce nu merge programul meu ? Trebuie sa afisez toate numerele prietene mai mici sau egale decat un numar n introdus de la tastatura. (2 numere sunt prietene daca diferenta dintre ele este de 2 si sunt amandoua numere prime) De exemplu,pentru n = 11 se va afisa (3,5);(5,7).
De unde e definitia asta? Numere prietene inseamna (si) cu totul altceva: fiecare numar este egal cu suma divizorilor celuilat. Prima pereche de numere prietene este 220, 284.
S-a schimbat sensul termenului intre timp? Sau poate e unul mai restrans.
« Ultima Modificare: Decembrie 21, 2011, 01:48:10 a.m. de mircea_p »

Offline AlexandruLazar

  • Senior
  • ****
  • Mesaje postate: 1752
  • Popularitate: +95/-17
Răspuns: numere prietene
« Răspuns #4 : Decembrie 20, 2011, 11:47:18 p.m. »
Sau una din sutele de greşeli din manualele de informatică de la noi, n-ar fi prima ;).


Offline zec

  • Experimentat
  • ***
  • Mesaje postate: 504
  • Popularitate: +49/-15
Răspuns: numere prietene
« Răspuns #5 : Decembrie 21, 2011, 03:07:03 p.m. »
Pentru numere mari e bine sa simplifici putin programul .Ciclul for poate sa mearga pana la partea intreaga a radacini patrate a numarului .

Ayumi

  • Vizitator
Răspuns: numere prietene
« Răspuns #6 : Decembrie 22, 2011, 08:51:26 p.m. »
Buna seara !
Imi puteti spune de de ce nu merge programul meu ? Trebuie sa afisez toate numerele prietene mai mici sau egale decat un numar n introdus de la tastatura. (2 numere sunt prietene daca diferenta dintre ele este de 2 si sunt amandoua numere prime) De exemplu,pentru n = 11 se va afisa (3,5);(5,7).
De unde e definitia asta? Numere prietene inseamna (si) cu totul altceva: fiecare numar este egal cu suma divizorilor celuilat. Prima pereche de numere prietene este 220, 284.
S-a schimbat sensul termenului intre timp? Sau poate e unul mai restrans.

La scoala,ne-a pus sa rezolvam acest exercitiu.Profesoara a numit aceste numere prietene amiabile.Probabil ca nu si-a dat seama ca definitia nu este cea buna :)

Offline zec

  • Experimentat
  • ***
  • Mesaje postate: 504
  • Popularitate: +49/-15
Răspuns: numere prietene
« Răspuns #7 : Decembrie 23, 2011, 02:32:40 a.m. »
ele se numesc numere prime pereche.Una din problemele parca nerezolvate e data de intrebarea daca exista cumva o infinitate de aceste numere prime pereche.