CSP 201912第一题——报数

题目要求

CSP 201912第一题——报数_第1张图片
CSP 201912第一题——报数_第2张图片

解题思路

注意像17、71这样的数都要跳过。

代码

#include 
#include 
using namespace std;

int check(int i){
     
               if(i%7==0){
     
                              return false;
               }
               while(i>0){
     
                              int a=i%10;
                              if(a==7){
     
                                             return false;
                              }
                              i/=10;
               }
               return true;
}

int main()
{
     
    int n;
    cin>>n;
    int a=0,b=0,c=0,d=0;
    int ans=0;
    int i=1;
    while(ans<=n){
     
               ans++;
               if(!check(i)&&ans<=n){
     
                              if(i%4==1){
     
                                             a++;
                              }
                              else if(i%4==2){
     
                                             b++;
                              }
                              else if(i%4==3){
     
                                             c++;
                              }
                              else if(i%4==0){
     
                                             d++;
                              }
                              ans--;
               }
               i++;

    }
    cout<<a<<endl;
    cout<<b<<endl;
    cout<<c<<endl;
    cout<<d<<endl;
    return 0;
}

你可能感兴趣的:(CSP 201912第一题——报数)