博客
关于我
1-100最小公倍数问题(C++数组模拟大数版本)
阅读量:256 次
发布时间:2019-03-01

本文共 799 字,大约阅读时间需要 2 分钟。

#include<iostream.h>int result[200];  //存储1-100的最小公倍数最终结果int digit = 1;    //初始时数字的位数void f(){	int temp[101] = {0};	for(int i = 1;i <= 100;i++)    //数字初始化,存储1-100这100个数字	{		temp[i] = i;	}		for(int j = 3;j <= 100;j++)    //求余数	{		for(int k = 2;k<=j-1;k++)		{            if(j%k == 0)			{				temp[j] = temp[j]/temp[k];			}		}	}	    result[1] = temp[1];	int index = 1;	while(++index <= 100)	{		for(int m = 1;m <= digit;m++)		{			result[m] *= temp[index]; 		}		for(int n = 1;n < digit;n++)  //判断每一位进位情况		{			if(result[n] >= 10)			{				result[n+1] += result[n]/10;				result[n] %= 10;							}		}		if(result[digit] >= 10)   //判断最高位是否进位		{			result[n+1] += result[n]/10;			result[n] %= 10;			digit++;		}			}	for(int q = digit;q >= 1;q--)	{		cout<<result[q];	}	cout<<endl;    }//主函数void main(){	f();}

 运行结果截图:

你可能感兴趣的文章