csdoge


私信TA

用户名:csdoge

访问量:3027

签 名:

等  级
排  名 2102
经  验 2453
参赛次数 0
文章发表 23
年  龄 0
在职情况 学生
学  校 南京邮电大学
专  业

  自我简介:

TA的其他文章

解题思路:

因为不知道数据范围,所以使用vector动态数组判断读入的数是否被筛掉。

cnt记录被筛的数的个数,tmp记录目前的报数。

注意事项:

参考代码:

#include<iostream>

#include<cstdio>

#include<algorithm>

#include<cmath>

#include<cstring>

#include<vector>

#include<utility>

#include<map>

using namespace std;

int main(){

int cnt=0;//记录被筛的个数 

int tmp=0;//记录报数 

int n;

cin>>n;

vector<int>v;

for(int i=1;i<=n;i++){

v.push_back(i);

}

for(int i=0;;i++){

if(v[i]){

   tmp++;

   tmp=tmp%3;

   if(tmp==0){

    v[i]=0;

    cnt++;

    if(cnt==n-1){

    break;

   }

   }

}

if(i==n-1){

i=-1;

}

}

for(int i=0;i<n;i++){

if(v[i]){

cout<<v[i]<<endl;

}

}

return 0;


 

0.0分

0 人评分

  评论区

  • «
  • »