aboutsummaryrefslogtreecommitdiff
path: root/semestr-4/ask/lista5/zad1.c
diff options
context:
space:
mode:
authorFranciszek Malinka <franciszek.malinka@gmail.com>2021-10-05 21:49:54 +0200
committerFranciszek Malinka <franciszek.malinka@gmail.com>2021-10-05 21:49:54 +0200
commitc5fcf7179a83ef65c86c6a4a390029149e518649 (patch)
treed29ffc5b86a0d257453cedcf87d91a13d8bf3b0d /semestr-4/ask/lista5/zad1.c
parentf8a88b6a4aba1f66d04711a9330eaba49a50c463 (diff)
Duzy commit ze smieciami
Diffstat (limited to 'semestr-4/ask/lista5/zad1.c')
-rw-r--r--semestr-4/ask/lista5/zad1.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/semestr-4/ask/lista5/zad1.c b/semestr-4/ask/lista5/zad1.c
new file mode 100644
index 0000000..9379bb2
--- /dev/null
+++ b/semestr-4/ask/lista5/zad1.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int puzzle(long x /* rdi */ , unsigned n /* rsi */) {
+ if (n == 0) {
+ return n;
+ }
+ int t = 0; // edx := 0
+ int result = 0; // eax := 0
+ do {
+ int m = x & 0xffffffff; // ecx := edi
+ m &= 1;
+ result += m;
+ x >>= 1;
+ t++;
+ } while (t != n);
+ return result; // ????
+}
+
+int main() {
+ long x;
+ unsigned n;
+ scanf("%ld%u", &x, &n);
+ return puzzle(x, n);
+} \ No newline at end of file