Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
16.11.2025
Размер:
2.06 Кб
Скачать
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
long long int Iz4v10(long long int Q){ // Перевод из четверичной в десятичную
    long long int S=0;
    for(int i=0;Q;i++){
        S+=pow(4,i)*(Q%10);
        Q/=10;
    }
    return(S);
}
long long int Iz10v4(long long int DES){ // Перевод из десятичной в четверичную
    long long int S=0;
    for(int i=0;DES;i++){
        if(fabs(2133333333-S)<fabs(pow(10,i)*(DES%4))){ // Проверка на переполнение
            return -5;
        }
        S+=pow(10,i)*(DES%4);
        DES/=4;
    }
    return(S);
}
long long int SUM(long long int a, long long int b){
    long long int c;
    c=Iz4v10(a)+Iz4v10(b);
    return(Iz10v4(c));
}
long long int RAZ(long long int a, long long int b){
    long int c;
    c=Iz4v10(a)-Iz4v10(b);
    return(Iz10v4(c));
}
long long int UMN(long long int a, long long int b){
    long long int c;
    c=Iz4v10(a)*Iz4v10(b);
    return(Iz10v4(c));
}
long long int POW(long long int a, long long int b){
    long long int c;
    c=pow(Iz4v10(a), Iz4v10(b));
    return(Iz10v4(c));
}
int main(){
    long long int a,b, s=0;
    scanf("%lld",&a);
    scanf("%lld",&b);
    if(RAZ(b,a)!=-5){
        if(POW(b, 3)!=-5){
                if(POW(RAZ(b, a),2)!=-5){
                        if(RAZ(POW(b,3), (POW(RAZ(b, a),2)!=-5))!=-5){
                                if(SUM(RAZ(POW(b,3),POW(RAZ(b,a),2)),a)!=-5){
                                   printf("%lld\n", SUM(RAZ(POW(b,3),POW(RAZ(b,a),2)),a));
                                   }
                                else{
                                    printf("!1\n");
                                }
                        }
                        else{
                                printf("!2\n");
                        }
                }
                else{
                        printf("!4\n");
                }
        }
        else{
            printf("!4\n");
        }
    }
    else{
        printf("!2\n");
    }
}
Соседние файлы в папке 1 семестр