本文共 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();}
运行结果截图: