#include <stdio.h>

// ① 3の累乗を計算してresult配列に格納する関数
void power3(unsigned long result[]) {
    result[0] = 1;  // 3の0乗は1
    for (int i = 1; i < 100; i++) {
        result[i] = result[i-1] * 3;  // 前の結果に3を掛けて次の値を計算
    }
}

// ② result配列の内容を表示する関数
void print_result(unsigned long result[]) {
    for (int i = 1; i < 100; i++) {  // 1乗から99乗まで表示
        printf("3^%d = %lu\n", i, result[i]);
    }
}

int main() {
    unsigned long result[100] = {0};  // 結果を格納する配列
    
    // 3の累乗を計算して配列に格納
    power3(result);
    
    // 結果を表示
    print_result(result);
    
    return 0;
}

