题目描述
小明很喜欢3和5这两个数字,他将能被3或5整除的数叫做美丽数。现在给你一个整数N(1<=N<=100000),你能告诉小明第N个美丽数是多少吗?
输入
输入包含多组测试数据。每组输入一个整数N(1<=N<=100000)。
输出
对于每组输入,输出第N个美丽数。
样例输入
1 2 3 4
样例输出
3 5 6 9
分析:如果直接做的话由于是多样例,所以会超时。这个时候我们就可以想到用打表的方法来解决。
#include<stdio.h>
int a[210000];
void fun()
{
int i,ans;
ans = 1;
for(i = 3; ; i ++)
{
if(ans == 100000)
{
a[ans] = i;
return ;
}
if(i % 3 == 0 || i % 5 == 0)
{
a[ans] = i;
ans ++;
}
}
return ;
}
int main()
{
int n;
fun();
while(scanf("%d",&n) != EOF)
{
printf("%d\n",a[n]);
}
return 0;
}