计算7的34次方
【分析】
计算-一个数的n次方可通过简单的一重循环实现,但7的34次方是一个非常大的数,它超过了计算机的表示范围。这其实是一-个大整数存储问题,可以利用数组来存储。
要计算7的34次方,将1存储在数组a中,不断地将其与7相乘,循环34次,数组a的值就是7的34次方。任何一个整数(假设位数为n)与7相乘,结果的位数不会超过n+1。 从最低位到最高位,依次将每位数与7相乘,如果有进位,将进位存入临时变量C中,则把余数存入当前位。再将下一位数与7相乘时,还需将此时的相乘结果加上进位c。
code:
#include<stdio.h>
void main()
{
static int a[34];
int i, j, k, c = 0;
a[0] = 1;
k = 0;
printf("7的34次方是: ");
for (i = 1; i <= 34; i++)
{
for (j = 0; j <= k; j++)
{
a[j] = a[j] * 7 + c;
c = a[j] / 10;
a[j] %= 10;
}
if (c)
{
k++;
a[k] = c;
c = 0;
}
}
for (; k >= 0; k--)
printf("%d", a[k]);
printf("\n");
getchar();
}
结果: