Wpis na blogu utworzony przez Patryk Kuźmicki

Patryk Kuźmicki
Napisane przez: Patryk Kuźmicki (wtorek, 7 listopada 2023, 11:11)
Wpis prywatny (szkic)

#include <iostream>

#include <ctime>


using namespace std;


void int_and_frac(float input, int &integer, float &fraction){

    integer = (int) input;

    fraction = input - integer;

}


int highest(int k){

    int n=0;

    int pot=1;

    while(pot*2<k){

        pot*=2;

        n++;

    }

    return n;

}


bool zad8(float a, float b, float c){

    if(a+b>c && a+c>b && b+c>a){

            return 1;

        }

    return 0;

}


void zad9(float &a, float &b){

    float tmp=a;

    a = b;

    b = tmp;


}


void copy_array(int arr[], int count, int dest[]){

    for(int i = 0; i<count; i++){

            dest[i] = arr[i];

    }

}


/*int main()

{

    int arr1[] = {1,2,3,4,5};

    int count = sizeof(arr1) / sizeof(arr1[0]);

    int arr2[count];


    copy_array(arr1, count, arr2);


    for (int i = 0; i < count; ++i) {

            cout<<arr2[i]<<" ";


            cout<<endl;

    }


    return 0;

}

*/


int factorial(int n){

    int ilo=1;

    for( int i = 1; i<=n; i++){

            ilo*=i;

    }

    return ilo;

}


void fibseq_loop(int count,unsigned int dest[]){

    dest[0] = 1;

    dest[1] = 1;

    for (int i=2; i<count; i++){

            dest[i] = dest[i-1] + dest[i-2];

    }

}


int fibreq(int a){

    if(a==1 || a==2){

            return 1;

    }

    return fibreq(a-1)+fibreq(a-2);


}


void zad13(float arr[],int size, int a, int b){

    for(int i = 0; i < size; i++){

            if(arr[i]< a || arr[i]> b){

                arr[i] = 0;


            }

    }

}


int nwd(int a, int b){

    int c;

    while(b != 0){

            c = a % b;

            a = b;

            b = c;

    }

    return a;

}


int nww(int a, int b){

    return (a*b)/nwd(a,b);

}


int wl(char str[]){

    int counter = 1;

    for(int i = 0; str[i]; i++){

            if(str[i] == ' ')

                counter++;

    }

    return counter;

}


//int main()

//{

//    char str[1024];

//    std::cin.get(str, 1023);

//    std::cout<<wl(str)<<std::endl;

//}


int rand1(int a, int b, int m, int n){

    if(n==0)

            return time(0)%m;

    return (a*rand1(a,b,m,n-1)+b)%m;

}


//int main(){

//    for(int i=0;i<50;i++){

//            std::cout<<rand1(403,43,12,i)<<' ';

//    }

//    return 0;

//}


unsigned int req(unsigned int a, unsigned int b){

    if(b==0)

            return a;

    if (b>a)

            return req(b,a);

    return a -b + req(a - 1, b) + req(a, b - 1);

}


int main(){

    std::cout<<req(3,0)<<std::endl;

}