Basics of Programming 1 solutions

Week 3 (09.26.)

Task descriptions are on the portal

Task 1

#include <stdio.h>

int main() {
    int prev = 1;
    int p_prev = 0;
    int n, curr = 1;

    printf("Which one? ");
    scanf("%d", &n);
    if (n <= 0) {
        printf("0\n");
    }
    else {
        for (int i = 2; i < n; i++) {
            p_prev = prev;
            prev = curr;
            curr = prev + p_prev;
        }
        printf("%d", curr);
    }
    return 0;
}

Task 2

#include <stdio.h>

int main() {
    double value = 0, target = 2, delta = 1;
    int n;
    printf("How precise?");
    scanf("%d",  &n);

    for (int i = 0; i < n; i++) {
        while (value * value < target) {
            value += delta;
        }
        value -= delta;
        delta /= 10;
    }

    printf("%.20f", value);


    return 0;
}

Task 3

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d", &a);
    scanf("%d", &b);
    if (a < 1 || b < 1) return 1;
    while (a != b) {
        if (a > b) {
            a -= b;
        } else {
            b -= a;
        }
    }
    printf("%d", a);
    return 0;
}

Task 4

#include <stdio.h>

int main() {
    int x = 12345;
    int sum = 0;
    while (x > 0) {
        sum += x % 10;
        x /= 10;
    }
    printf("%d", sum);
    return 0;
}