题解 | #栗酱数数#
链接:https://ac.nowcoder.com/acm/contest/19305/1017
前往做题↑·↑·↑·↑
题目描述
栗酱在酒桌上玩一个小游戏,第一个人从1开始数数,如果遇到数字中含4或者数字是4的倍数则跳过报下一个,谁数错了就要罚酒一杯。
所以栗酱想让你写个程序把所有数生成出来,这样她就可以作弊直接读了。你一定能解决的吧?
输入描述:
1 | 只有一组数据,一个数n代表从 1 开始数到n。(n≤ 100000 ) |
输出描述:
1 | 按顺序输出所有 1 到n之间任何一位都不是 4 的数,每两个数之间用一个回车隔开。 |
示例代码:
#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
答案正确:恭喜!您提交的程序通过了所有的测试用例