高桁のべき乗

7の34乗を計算します

【分析】

計算-数値のn乗は、単純な1回のループで実現できますが、7の34乗は非常に大きな数値であり、コンピューターの範囲を超えています。これは実際には大きな整数のストレージの問題であり、配列を使用して格納できます。

7の34乗を計算するには、1を配列aに格納し、7を掛けて、34回ループします。配列aの値は7の34乗です。任意の整数(桁数がnであると想定)に7を掛けると、結果の桁数はn +1を超えません。最下位桁から最上位桁まで、各桁に7を掛けます。桁上げがある場合は、桁上げを一時変数Cに格納し、余りを現在の位置に格納します。次の桁に7を掛けるときは、この時点で掛け算の結果にキャリーcも追加する必要があります。

コード:
 

#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();
}

結果:

 

おすすめ

転載: blog.csdn.net/baidu_36669549/article/details/104160411