清明节放假去玩了,回来后做的第一个题。表示很没有手感。明天上午蓝桥杯比赛、、、、怎么办呢 、、、
题意:
求1-n所有数的最小公倍数。n的范围是【1-100】
分析:
仔细观察会发现,【1-n】的最小公倍数,是【1-n-1】的最小公倍数乘以n的所有素因子中没有被【1-n-1】包含的素因子。
题意:
求1-n所有数的最小公倍数。n的范围是【1-100】
分析:
仔细观察会发现,【1-n】的最小公倍数,是【1-n-1】的最小公倍数乘以n的所有素因子中没有被【1-n-1】包含的素因子。
例如:【1-7】的最小公倍数是2*3*2*5*7,8=2*2*2,(8中2出现3次,【1-7】的素因子中只出现2次)那么【1-8】就是2*3*2*5*7*2
代码:
#include<iostream>
#include <math.h>
#include <stdio.h>
#include <string.h>
using namespace std;
int sum[100];//记录最小公倍数的所有素因子
int num[101];//记录1-100的素数表
char N[101][50];//记录最小公倍数
int main()
{
int n;
int i,j;
memset(sum,0,sizeof(sum));
memset(num,0,sizeof(num));
memset(N,'\0',sizeof(N));
for(i=2;i<11;i++)//打印素数表
{
if(num[i]==0)
for(j=2*i;j<101;j+=i)
{
if(j%i==0)
num[j]=1;
}
}
N[1][0]='1';
for(i=2;i<101;i++)//打印每个数的最小公倍数
{
int W=1;int w=i