m0_50838392 2020-09-15 14:29 采纳率: 66.7%
浏览 154
已采纳

CCF 201912-1报数 c++ 求大佬解答

原题


图片说明

图片说明

###运行结果

图片说明

代码


#include <iostream>
using namespace std;

int judge(int x){
    if( x%7 == 0)
        return 1;
    else{
        int t=x;
        while (t){
            if(t%10 ==7)
                return 1;
            t/=10;
        }
        return 0;
    }
}

int main(){
    int n;
    while (cin>>n){
        //初始化
        int sum=0, jump = 0;
        int res[4] ={0};
        //循环
        for(int i=1; sum<=n; i++){
            if(judge(i)){
                jump++;
                res[(sum+jump)%4]++;
            }else
                sum++;
        }
        //输出
        cout<<res[1]<<endl<<res[2]<<endl<<res[3]<<endl<<res[0]<<endl;
    }
    return 0;

        //不太明白问题出在哪里,求大佬们看看

}

展开全部

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-09-15 14:51
    关注

    我测试了下,当n=12的时候,应该是0 0 1 0,你却输出了 0 1 1 0
    参考下人家的代码
    https://blog.csdn.net/pfl_327/article/details/104211644
    https://blog.csdn.net/qq_36667885/article/details/103988017

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部