Добавил:
okley
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:1 семестр / sr9
.c#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");
}
}
