1. 程式人生 > >程式設計題:通過程式設計實現輸出2的1000次方

程式設計題:通過程式設計實現輸出2的1000次方

#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;

int main()
{
	int a[1024];						//先定義一個足夠大的陣列
	for(int i = 0;i < 1024;i++)
	{
		a[i] = 0;
	}
	a[0] = 1;							//將第零個元素賦值為1,其餘為零
	for(int j = 0;j < 1000;j++)			//2^1000次方就迴圈1000次
	{
		for(int i = 0;i < 1024;i++)		//將陣列所有元素*2
		{
			a[i] *= 2;
		}
		for(int i = 0;i < 1024;i++)		//判斷各位是否需要進位
		{
			if(a[i] > 9)
			{
				a[i+1] += 1;			//後一位+1
				a[i] %= 10;				//自身對10取餘
			}
		}
	}
	

	int count = 0;
	for(int j = 1023;j >= 0;j--)		//從後往前找出從第幾位開始不為0
	{
		if(a[j] == 0)
		{
			count++;
		}
		else
			break;
		
	}
	for(int i = 1023-count;i >= 0;i--)	//由後向前從第一個不為0的位置開始列印
	{
		printf("%d",a[i]);
	}



	cout << endl;


    return 0;
}