现在的位置: 首页 > 综合 > 正文

141 被2或者3或者5所整除,求第 1500 个值是多少?

2018年05月02日 ⁄ 综合 ⁄ 共 544字 ⁄ 字号 评论关闭

41、微软面试题

一个有序数列,序列中的每一个值都能够被 2 或者 3 或者 5 所整除, 1 是这个序列的第一个元素。求第 1500 个值是多少?

/*
41、微软面试题
一个有序数列,序列中的每一个值都能够被 2 或者 3 或者 5 所整除, 1 是这个序列的第一个
元素。求第 1500 个值是多少?
*/
#include<iostream>
#include<stdio.h>
using namespace std;

int min(int a,int b,int c)
{
	int x=a<b?a:b;
	return x<c?x:c;
}
void generate(int N ,int Q[])//计算Q的前N项
{
	int x,a=2,b=3,c=5;
	int A=1,B=1,C=1;
	Q[1]=1;
	for(int i=2;i<=N;++i)
	{
		x=min(A*a,B*b,C*c);
		Q[i]=x;
		if(x==A*a)
			A++;
		if(x==B*b)
			B++;
		if(x==C*c)
			C++;
	}
}

int main()
{
	
	int N=1502;
	int Q[N];
	generate(N,Q);
	
	printf("被2或者3或者5所整除的序列:\n");
	for(int i=1;i<=20;i++)
		printf("%d ",Q[i]);
	printf("...第1500个值是:%d\n",Q[1500]);
}

抱歉!评论已关闭.