这道题其实只需找到规律即可做出来:
输入 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
输出 | 1 | 2 | 3 | 3 | 4 | 5 | 5 | 6 | 7 | 7 | 8 | 9 | 9 | 10 | 11 | 11 | 12 | 13 | 13 | 14 |
如上表格,
输出的结果依次递增,
当输入的这个数被3整除时,
下一个数会等于这个数能被3整除的数.
有下题解:
#include <bits/stdc++.h>
using namespace std;
int n;
int main() {
cin>>n;
int ans=0;
for(int i=1;i<=n;i++){
if(i%3==0){
continue;
}else{
ans++;
}
}
if(n%3==0){
cout<<ans+1;
return 0;
}
cout<<ans;
return 0;
}