C语言编程练习23:美丽数
题目描述
小明很喜欢3和5这两个数字,他将能被3或5整除的数叫做美丽数。现在给你一个整数N(1<=N<=100000),你能告诉小明第N个美丽数是多少吗?
输入
输入包含多组测试数据。每组输入一个整数N(1<=N<=100000)。
输出
对于每组输入,输出第N个美丽数。
样例输入 Copy
1
2
3
4
样例输出 Copy
3
5
6
9
思路:乍一看,这不弱智题吗?结果唰唰写了代码AC不过,超时,我是弱智,无法反驳。
于是先把所有美丽数找出来存在数组里,找的时候直接根据数组下标找,大大减少时间、
#include <iostream> using namespace std; int main() { int n; int a[100005]; int c=1;//计数 for(int i = 1;;i++) { if(i%3==0||i%5==0) { a[c++]=i; } if(c>100001) { break; } } while(scanf("%d",&n)!=EOF) { printf("%d\n",a[n]); } return 0; }