编辑代码

#include <stdio.h>
#include <math.h>

int main() {
    int m, n;
    printf("请输入两个正整数 m 和 n:");
    scanf("%d %d", &m, &n);

    if (m < 10 || m > 10000 || n < 1 || n > 10000) {
        printf("输入的值超出范围!\n");
        return 1;
    }

    // 使用对数运算避免直接计算大数
    double log_result = n * log10(m);
    double fractional_part = log_result - (int)log_result;

    // 得到最高两位数
    double high_part = pow(10, fractional_part);
    int result = (int)(high_part * 10); // 转为整数后保留前两位

    printf("m^n 的最高两位数是:%d\n", result);
    return 0;
}