Primitivni binarni zapisi

Pitanje ili opis problema

Da li bih mogao da dobijem 2. test primer u zadatku Primitivni binarni zapisi?

Probao sam sve i svasta al uvek je samo on WA…

Unapred hvala!

Link ka zadatku ili odgovarajućoj stranici

https://petlja.org/biblioteka/r/problemi/zbirka-napredni-nivo/primitivni_binarni_zapisi

Daj i tvoj kod, kako da znamo sta gresis

Probaj dinamicko programiranje

1 Like

Pozdrav, evo mog koda za pomenuti zadatak:

#include <bits/stdc++.h>

using namespace std;

int main()
{
int n;
cin >> n;

vector<int> delioci;

for(int i = 1; i <= n / 2; i++){
    if(n % i == 0)
        delioci.push_back(i);
}
long long zbir = 0;

if(n == 0)
    cout << 0;

else if(n == 1)
    cout << 2;

else if(delioci.size() == 1){
    long long r = pow(2, n) - 2;
    cout << r;
}

else if(delioci.size() == 2){
    zbir = pow(2, delioci[1]);
    long long r = pow(2, n);
    cout << r - zbir;
}

else{
    bool precrtani[delioci.size()];
    for(int i = 0; i < delioci.size(); i++)
        precrtani[i] = false;

    for(int i = delioci.size() - 1; i >= 0; i--){
        if(!precrtani[i]){
        for(int j = i - 1; j >= 0; j--){
            if(!precrtani[j] && delioci[i] % delioci[j] == 0){
                precrtani[j] = true;
            }
            else if(precrtani[j] && delioci[i] % delioci[j] == 0){
                zbir -= (pow(2, delioci[j]));
            }
        }
        }
    }
    for(int i = 0; i < delioci.size(); i++)
       if(!precrtani[i])
            zbir += pow(2, delioci[i]);

    long long r = pow(2, n);
    cout << r - zbir;
}

return 0;

}

Tako se ne nalaze delioci, nadji na netu kako se radi… ovo drugo jos ne kapiram sta si radio hahah al prvo vidi da l ce ovo da uradi posao

Kako ne valjaju delioci?
Ne treba ni sam taj broj za algoritam…

Dobri su ti delioci.

Vidim da si ti uradio ovaj zadatak, jel si imao slucajno slicno resenje?

Nisam, ja sam radio premo dinamickog programiranja

Rekurzija, memoizacija ili na gore?

Nebitno koji nacin, oba rade

Ne pitajte kako ali saznao sam koji test primer mi ne radi: 60, zna li neko mozda koliki treba da bude izlaz?

Moj izlaz je: 1152921503532053584 …