Jump to content

Recommended Posts

  • Moderators
Posted

Să se afişeze descompunerea unui număr natural par, strict mai mare decât 2, într-o sumă de două numere prime.

 

Eu am făcut

 

#include <iostream>
using namespace std;
int main()
{
    unsigned n,a,b,s2,s1,d1,d2;
    cin>>n;
    for (a=1;a<=n;a++)
        for (b=1;b<=n;b++)
            if(a+b==n)
            {
                s1=0;
                s2=0;
                for (d1=1;d1<=a;d1++)
                    if (a%d1==0)
                        s1=s1+1;
                for (d2=1;d2<=b;d2++)
                    if (b%d2==0)
                        s2=s2+1;
                if (s1==2 && s2==2)
                {
                    cout<<a<<"+"<<b<<"="<<n;
                    return 0;
                }

            }
}
 

 

Se poate ceva mai simplu?

Posted

Conteaza cat de simplu e daca in final iti da rezultatul dorit?... Conteaza ca e bun. Cu subprogram e mai simplu, dar nu ai facut.

fWy1P.gif

 

  • 5 months later...
Posted

Incearca sa faci un subprogram care sa verifice daca cele doua numere sunt prime.

Ca sa-l optimizezi putin , atunci cand verifici daca e prim sau nu mergi de la 2 la jumatatea numarului(in for).Atunci cand incepi cele 2 for-uri ,incepe de la 2.

  • 7 months later...
  • Moderators
Posted

puteai evita asta pornind de la 2 si mergand pana la mai mic (<) in loc de mai mic sau egal (<=)

Dar ca idee e la fel.

 

Atunci trebuie sa-l iei si pe 2 in calcul.

 

Uite:

#include <math.h>
bool prim(int n)
{
    if (n%2 == 0)
    {
        if (n==2)
            return true;
        else
            return false;
    }
    else
    {
        int d = 3;
        while (d <= sqrt(n))
            if (n%d != 0)
                d += 2;
            else
                return false;
        return true;
    }
}

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.