code vs3099 敲7

3099 敲7

 时间限制: 1 s
 空间限制: 32000 KB
 题目等级 : 黄金 Gold
题解
 查看运行结果
题目描述 Description

给定正整数N(≤100,000),求数列{An}的前N项。数列{An}包含正整数集中所有能被7整除的数;还包含正整数集中所有个位上含7的数,如17,27,177。

输入描述 Input Description

输入仅包括一个正整数N(≤100,000) 

输出描述 Output Description

只输出一个数,数列{An}按从小到大顺序的第N项。

样例输入 Sample Input

3

样例输出 Sample Output

17

数据范围及提示 Data Size & Hint

N(≤100,000) 

ps:数据范围貌似有点问题,因为刚开始不加任何优化的枚举完美错了,所以。。。。



#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m,ans,i,j;
int main()
{
  scanf("%d",&n);
  int ans1=7,ans2=7; 
  for (i=1;i<=n;i++)
   {
    if (ans1<ans2)
      ans=ans1,ans1+=7;
    else
     if (ans1==ans2)
      ans=ans1,ans1+=7,ans2+=10;
     else
      ans=ans2,ans2+=10;
   }
  printf("%d",ans);
}

你可能感兴趣的:(code vs3099 敲7)