201912-1 报数

 简单模拟题

但是花费了好久时间。

失误原因有以下几点:

1、在判断是否为含有7时,10容易判断正确。因为0%7==0

2、关键要搞清楚等量关系,跳过的次数+n=总报数

 

#include<bits/stdc++.h>
using namespace std;
bool just(int x)
{
    if(x%7==0){
        return true;
    }
    while(x){
        int t=x%10;
        if(t%7==0&&t!=0){
            return true;
        }
        x/=10;
    }
    return false;
}
int sum(int a[]){
    int sum=0;
    for(int i=0;i<4;i++){
        sum+=a[i];
    }
    return sum;
}
int main()
{
    int n;
    cin>>n;
    int ans[4]={0};
    for(int i=1;i<=n+sum(ans);i++){
        if(just(i)){
            ans[i%4]++;
        }
    }
    for(int l=1;l<4;l++){
        cout<<ans[l]<<endl;
    }
    cout<<ans[0];
   /* for(int i=1;i<=24;i++){
        cout<<just(i)<<endl;
    }*/
    return 0;
}

 

posted @ 2021-03-29 19:34  南理工学渣  阅读(55)  评论(0)    收藏  举报