From c5fcf7179a83ef65c86c6a4a390029149e518649 Mon Sep 17 00:00:00 2001 From: Franciszek Malinka Date: Tue, 5 Oct 2021 21:49:54 +0200 Subject: Duzy commit ze smieciami --- Semestr 4/ask/lista5/zad3.c | 60 --------------------------------------------- 1 file changed, 60 deletions(-) delete mode 100644 Semestr 4/ask/lista5/zad3.c (limited to 'Semestr 4/ask/lista5/zad3.c') diff --git a/Semestr 4/ask/lista5/zad3.c b/Semestr 4/ask/lista5/zad3.c deleted file mode 100644 index 1ce9067..0000000 --- a/Semestr 4/ask/lista5/zad3.c +++ /dev/null @@ -1,60 +0,0 @@ -#include -#include -#include - -uint32_t puzzle3(uint32_t n, uint32_t d); - -// uint32_t divv(uint32_t edi, uint32_t esi) { -// uint64_t rdi = edi; -// uint64_t rsi = esi; -// rsi <<= 32; -// uint8_t edx = 32; -// uint32_t ecx = 0x80000000; -// uint32_t eax = 0; -// L3: -// rdi += rdi; -// int64_t r8 = rdi; -// r8 -= rsi; -// if (r8 < 0) { -// goto L2; -// } -// eax |= ecx; -// rdi = r8; -// L2: -// ecx >>= 1; -// edx--; -// if (edx != 0) { -// goto L3; -// } -// return eax; -// } - -uint32_t decoded(uint32_t n, uint32_t d) { - uint64_t N = n; - uint64_t D = (uint64_t)d << 32; - - uint32_t bit = 0x80000000; - uint32_t result = 0; - for (uint32_t edx = 32; edx > 0; edx--) { - N += N; - if ((int64_t)(N - D) >= 0) { - result |= bit; - N -= D; - } - bit >>= 1; - } - return result; -} - -int main() { - for (uint32_t n=0; n <= 1000; ++n) { - for (uint32_t d=1; d <= 1000; ++d) { - if (puzzle3(n,d) != decoded(n, d)) { - printf("%d %d\n", n, d); - printf("%u %u\n", puzzle3(n, d), decoded(n, d)); - return 0; - } - } - } - printf("%d\n", puzzle3(1000000000, 2)); -} \ No newline at end of file -- cgit v1.2.3