题解 | #栗酱数数#





链接:https://ac.nowcoder.com/acm/contest/19305/1017

前往做题↑·↑·↑·↑

题目描述

栗酱在酒桌上玩一个小游戏,第一个人从1开始数数,如果遇到数字中含4或者数字是4的倍数则跳过报下一个,谁数错了就要罚酒一杯。

所以栗酱想让你写个程序把所有数生成出来,这样她就可以作弊直接读了。你一定能解决的吧?

输入描述:

1
只有一组数据,一个数n代表从1开始数到n。(n≤100000)

输出描述:

1
按顺序输出所有1到n之间任何一位都不是4的数,每两个数之间用一个回车隔开。

示例1

输入

复制
9

输出

复制
1
2
3
5
6
7
9



示例代码:

ACM模式
#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {//循环n次。例如输入1458,就循环1458次。
        int flag = 0;
        if (i % 4 != 0) {
            int x = i;
            while (x) {
                if (x % 10 == 4) {//判断个位是否为4
                    flag = 1;//如果是4,那就flag=1
                    break;
                }
                x /= 10;//如果不是4,那就自除把当前个位去掉,继续循环。
            }

            if (flag == 0)//如果各个位数上没有4,并且也不是4的倍数就打印输出
                cout << i << endl;
        }
    }
    return 0;
}

您的代码已保存
答案正确
通过全部用例
运行时间 39ms
占用内存 548KB
答案正确:恭喜!您提交的程序通过了所有的测试用例
全部评论

相关推荐

02-24 10:34
门头沟学院 Java
已注销:之前发最美的女孩基本爱答不理,发最帅的hr终于有反馈了,女孩子也要自信起来
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务