首页 > 编程语言 >【每日例题】蓝桥杯 c++ 奇数倍数

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

时间:2023-10-24 18:12:44浏览次数:42  
标签:奇数 int c++ 蓝桥 2019 倍数 例题 check

奇数倍数

题目

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
请你找到最小的整数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;
}

标签:奇数,int,c++,蓝桥,2019,倍数,例题,check
From: https://www.cnblogs.com/hcrzhi/p/17785431.html

相关文章

  • C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例
    相关源码测试用例下载包括4个压缩包,初始代码,实现前缀和,实现前缀积,实现前缀异或。都是在前者的基础上修改的。原理长度为n的数组nums,共有n+1个以nums[0]开始的子数组。索引范围分别为[0,i),i取值区间[0,n]。preSum[i]记录子数组[0,i)的和。比如:nums={1,2,3,4},则preSum={0,1,3,6......
  • C++前缀和算法应用:和至少为 K 的最短子数组的原理、源码及测试用例
    题目给你一个整数数组nums和一个整数k,找出nums中和至少为k的最短非空子数组,并返回该子数组的长度。如果不存在这样的子数组,返回-1。子数组是数组中连续的一部分。示例1:输入:nums=[1],k=1输出:1示例2:输入:nums=[1,2],k=4输出:-1示例3:输入:nums=......
  • C++前缀和算法:构造乘积矩阵
    题目给你一个下标从0开始、大小为n*m的二维整数矩阵grid,定义一个下标从0开始、大小为n*m的的二维矩阵p。如果满足以下条件,则称p为grid的乘积矩阵:对于每个元素p[i][j],它的值等于除了grid[i][j]外所有元素的乘积。乘积对12345取余数。返回grid的乘积......
  • C++算法:二叉树的序列化与反序列化
    #题目序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列/反序列化算法执行逻......
  • C++算法前缀和的应用:得分最高的最小轮调的原理、源码及测试用例
    题目给你一个数组nums,我们可以将它按一个非负整数k进行轮调,这样可以使数组变为[nums[k],nums[k+1],…nums[nums.length-1],nums[0],nums[1],…,nums[k-1]]的形式。此后,任何值小于或等于其索引的项都可以记作一分。例如,数组为nums=[2,4,1,3,0],我们按k=2进行......
  • C++算法:数据流的中位数
    题目中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。例如arr=[2,3,4]的中位数是3。例如arr=[2,3]的中位数是(2+3)/2=2.5。实现MedianFinder类:MedianFinder()初始化MedianFinder对象。voidaddNum(int......
  • C++算法前缀和的应用:分割数组的最大值的原理、源码及测试用例
    分割数组的最大值二分过些天整理基础知识题目给定一个非负整数数组nums和一个整数m,你需要将这个数组分成m个非空的连续子数组。设计一个算法使得这m个子数组各自和的最大值最小。示例1:输入:nums=[7,2,5,10,8],m=2输出:18解释:一共有四种方法将nums分割为2个......
  • C++算法:给表达式添加运算符
    题目给定一个仅包含数字0-9的字符串num和一个目标值整数target,在num的数字之间添加二元运算符(不是一元)+、-或*,返回所有能够得到target的表达式。注意,返回表达式中的操作数不应该包含前导零。示例1:输入:num=“123”,target=6输出:[“1+2+3”,“123......
  • C++数位算法:数字1的个数
    题目给定一个整数n,计算所有小于等于n的非负整数中数字1出现的个数。示例1:输入:n=13输出:6示例2:输入:n=0输出:0提示:0<=n<=1092023年1月版classSolution{public:intcountDigitOne(intn){intiNum=0;intiMul=1;for(inti=0;i<9;i++){......
  • C++桶排序算法的应用:存在重复元素 III
    题目给你一个整数数组nums和两个整数indexDiff和valueDiff。找出满足下述条件的下标对(i,j):i!=j,abs(i-j)<=indexDiffabs(nums[i]-nums[j])<=valueDiff如果存在,返回true;否则,返回false。示例1:输入:nums=[1,2,3,1],indexDiff=3,valueDiff=0输出......