Salom. Qaysi til siz uchun qulay bilmayman. Java tilini qanchalik yaxshi bilishiz menga qorong'u. Quyidagi kod java tilida yozilgan. 2 ta funksiya yaratib olamiz biri ko'paytirish 2-chisi darajaga oshirish uchun. sonlarni to'g'ridan to'g'ri ko'paytirganda yoki to'g'ridan to'g'ri darajaga oshirganda natija juda kattalashib ketadi. Dastur g'oyasi shu har bir raqamni alohida ko'paytirib massivga yozib qo'yishga asoslangan.
//Code
class Main {
static final int MAX = 100000;
static int multiply(int x, int res[], int res_size) {
int carry = 0;
for (int i = 0; i < res_size; i++) {
int prod = res[i] * x + carry;
res[i] = prod % 10;
carry = prod / 10;
}
while (carry > 0) {
res[res_size] = carry % 10;
carry = carry / 10;
res_size++;
}
return res_size;
}
static void power(int x, int n) {
if(n == 0 ){
System.out.print("1");
return;
}
int res[] = new int[MAX];
int res_size = 0;
int temp = x;
while (temp != 0) {
res[res_size++] = temp % 10;
temp = temp / 10;
}
for (int i = 2; i <= n; i++)
res_size = multiply(x, res, res_size);
System.out.print(x + "^" + n + " = ");
for (int i = res_size - 1; i >= 0; i--)
System.out.print(res[i]);
}
public static void main(String[] args) {
int exponent = 100;
int base = 2;
power(base, exponent);
}
}