Jak wypisać liczby całkowite z double?

0

Mam 500 liczb w double. Muszę wypisać te bez przecinka. Jak to zrobić?
Potrzebuje tego żeby obliczać liczby pierwsze. Chyba że ktoś może mi powiedzieć jak obliczyć liczby pierwsze w zmiennej double?
(c++)

0

wypisanie w C: printf("%.0lf",2.6);
wypisane w C++: cout.setf(ios::fixed); cout<<setprecision(0)<<2.6;
Nie zbyt rozumiem co mają wspólnego liczby double z liczbami pierwszymi.

0

Żeby obliczać l pierwsze muszę mieć zmienne w typie int. W programie mam 500 liczb w pliku z których mam wypisać te które są kwadratami liczb 1. Obliczyłam pierwiastki, ale teraz potrzebuje które z nich to liczby pierwsze.

0

A nie lepiej podnieść te liczby pierwsze do kwadratu i porównywać kwadraty?

0
double pierwiastek = sqrt(liczba);
int calkowity = (int) pierwiastek;
if (pierwiastek == calkowity) {
    sprawdzCzyPierwsza(calkowity);
}

Powinno być bezpieczne, jeśli interesuje cię tylko zakres int.

0

wykminiłem taki sposób sprawdzania czy double jest liczbą całkowitą, napiszcie czy to jest poprawne, bo nigdy wcześniej czegoś takiego nie robiłem, spontan.

#include <iostream>
union N
{
    double a;
    long long b;
};

int main()
{
    N Number;
    Number.a = 1255642; // jesli jest całkowita to wyskoczy yay
    Number.b <<= 52;
    if(Number.a == 0)
        std::cout << "yay";
        return 0;
}

</del>

1 użytkowników online, w tym zalogowanych: 0, gości: 1