1009

#include <stdio.h>

int power(int a, int b){
    int result = a;
    for(int i = 1; i < b; i++){
        result *= a;
        if(result > 9){
            result %= 10;
        }
    }
    return result;
}

int main (void){
    int num;
    
    scanf("%d", &num);
    int result_arr[num];
    for(int i = 0; i < num; i++){
        int a,b;

        scanf("%d %d", &a, &b);
        int data = power(a,b);
        int result = data % 10;

        if(result == 0){
            result = 10;
        }
        result_arr[i] = result;
    }

    for(int i = 0; i < num; i++){
        printf("%d\n", result_arr[i]);
    }
    return 0;
}


ㅎㅎ 처음에 a^b인데 a가 100 이하 b가 1,000,000 이하라길래 에반데;; 이것도 char 써야하나 했는데 아녔음

어짜피 1의 자리수만 있으면 되는걸 깨닫고 곱하고 10넘으면 버리기로 함 ㅎㅎ


근데.... 왜 

#include <stdio.h>

int power(int a, int b){
    int result = a;
    for(int i = 1; i < b; i++){
        result *= a;
        if(result > 9){
            result %= 10;
        }
    }
    return result;
}

int main (void){
    int num;
    
    scanf("%d", &num);
    int result_arr[num];
    for(int i = 0; i < num; i++){
        int a,b;

        scanf("%d %d", &a, &b);
        int data = power(a,b);

        if(data == 0){
            data = 10;
        }
        result_arr[i] = data;
    }

    for(int i = 0; i < num; i++){
        printf("%d\n", result_arr[i]);
    }
    return 0;
}

%10이 중복되는거 같아서 바로 data로 그냥 바로 했는데 오답이 나옴...ㅜㅜ

이건 왜 틀렸다고 할까 vscode에서는 올바른 답이 나오는데 백준은 틀렸다 나옴 힝 ㅜㅜ 

모르겟다요

+ Recent posts