【每日例题】蓝桥杯 c++ 奇数倍数

奇数倍数

题目

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
请你找到最小的整数X同时满足:
1.X是2019的整倍数;
2.X的每—位数字都是奇数。
运行限制
·最大运行时间:1s·最大运行内存:128M

蓝桥杯 奇数倍数

题目分析

针对这个题目,要判断两个条件:

1.这个数是不是2019整数倍,即x%2019==0;

2.这个数的每一位是否是奇数,即x每一位%2!=0;

大家首先会想到使用for函数从2019开始遍历,然后进行判断,但是我们发现如果从2019开始遍历,那么这个循环会重复非常多次,所以,我们直接使x=2019*i,这样做,既能避免非常多次循环,又能直接选出符合2019整数倍的数,之后便是判断x的每一位是否为奇数了。

代码

#include <iostream>
using namespace std;
int main()
{
	int check=false;
	for(int i=1;;i++)
	{
		int a=2019*i;
		check=true;
		for(int j=1;;j++)
		{
			if(a%10%2==0)
			{
				check=false;
			}
			a/=10;
			if(a==0)
			{
				break;
			}
		}
		if(check==true)
		{
			cout<<i*2019;
			return 0;
		}
	}
	return 0;
}
posted @ 2023-10-24 17:57  山远尽成云  阅读(122)  评论(0)    收藏  举报