am1x icon

tmp007.cpp

am1x | PRO | 10/05/23 12:38:42 AM UTC (Edited) | 0 ⭐ | 7448 👁️ | Never ⏰ | []
C++ |

620 B

|

Fixit

|

0 👍

/

0 👎

#include <stdio.h>
#include <assert.h>
#include <inttypes.h>
 
 
bool is_prime(uint64_t x)
{
    if (x < 4)
        return x >= 2;
    if (x % 2 == 0)
        return false;
    for (uint32_t d = 3; d > 2; d += 2) {
        uint64_t q = x / d;
        uint32_t r = x % d;
        if (q < d)
            return true;
        if (r == 0)
            return false;
    }
    return true;
}
 
 
int main()
{
    for (int num = 1; num <= 1000000; num++) {
        if (!is_prime(num))
            continue;
        printf("%d\n", num);
    }
#if 0
    uint64_t x = 18446744073709551557ULL;
    //uint64_t x = 1152921504606846883ULL;
    bool q = is_prime(x);
    printf("%llu %d \n", x, (int) q);
#endif
    return 0;
}
 

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎