Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Erotasfen g'alvirini bu misolda qanday qilib ishlatsam ekan?

+5 ovoz
186 marta ko‘rilgan
so‘radi 25 fevral, 17 FAXRIDDIN TOJIBOYEV (306 bal)
Дано четное число n>2; проверить для этого числа гипотезу Гольдбаха. Эта гипотеза заключается в том, что каждое четное n, большее двух, представляется в виде простых чисел.

Yuqoridagi misolda tub sonlarda ustida amal bajarish kerak. Bilamizki Erotasfen g'alviri tub sonlarni topishda vaqtdan yutiq beradi. Men Erotasfen g'alvirini bu misolga ishlatib ko'rishga harakat qildim ammo aksi bo'ldi. Booshqa metod esa undan yaxshiroq ishladi.

2 Javoblar

0 ovoz
javob berdi 25 fevral, 17 FAXRIDDIN TOJIBOYEV (306 bal)
tanlangan 28 fevral, 17 FAXRIDDIN TOJIBOYEV
 
Eng yaxshi javob
Bunda esa boshqa metoddan foydalandim

#include<iostream>
using namespace std;

int p(int a){
    int x,i;
    for (i = 2; i <= a / 2+1; i++){
        if (a%i == 0){
            x = 0;
            break;
        }
        else if (a / 2+1 <= i) x = a;
        
    }
    return x;
}

int main()
{
    int d, i, j,a;
    cin >> d;
    for (i = 3; i < d; i++){
        if (p(i) != 0){
            j = d - i;
            if (p(j) != 0) {
                cout << i << " " << j<<'\n';
            }
        }
    }
    return 0;
}
0 ovoz
javob berdi 25 fevral, 17 FAXRIDDIN TOJIBOYEV (306 bal)
Erotasfen g'alvirini ishlatdim

#include<iostream>
using namespace std;

int p(int a){
    int  *b = new int[a + 1], i, j;
    for (i = 0; i <= a; i++)
        b[i] = 1;
    for (i = 2; i <= a; i++){
        if (b[i]){
            for (j = 2; i*j <= a; j++) b[i*j] = 0;
        }
    }
    if (b[a]){ delete[] b; return a; }
    else{
        delete[]b; return 0;
    }
}
int main()
{
    int d, i, j,a;
    cin >> d;
    for (i = 3; i < d; i++){
        if (p(i) != 0){
            j = d - i;
            if (p(j) != 0) {
                cout << i << " " << j<<'\n';
            }
        }
    }
    return 0;
}

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...