第15届蓝桥杯省赛模拟第二期题解及代码实现


试题A:求余数

问题描述
        求12345678901234567890123456789012345678901234567890除以2023的余数。

答案提交
        这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

小提示:比赛时可以用python处理高精度问题

         本题python代码:

        a=12345678901234567890123456789012345678901234567890

        print(a%2023)

        1e10是double类型,模运算时需要强转int

 思路:

  • 利用模运算的性质和幂的分配律,把大数表示成 1234567890×1010+12345678901234567890×1010+1234567890 的形式。
  • 通过循环利用模运算性质计算余数,避免大数直接运算。
#include<iostream>
using namespace std;
#define int long long

signed main()
{
	//12345678901234567890123456789012345678901234567890
	//2345678901234567890等价于 1234567890*10^10+1234567890 的思想
	int a=1234567890; 
	int n=5;
	int ans=0;
	int mod=2023;
	int N=1e10;
	for(int i=1;i<=n;i++)
	{
		ans=(ans*N%mod+a%mod)%mod;
	}
	cout<<ans;
	return 0;
}

试题B:数位和

问题描述
        只能被1和本身整除的数称为质数。
        请问在1(含)到1000000(含)中,有多少个质数的各个数位上的数字之和为23。提示:599就是这样一个质数,各个数位上的数字之和为5+9+9= 23。

笞案提交
        这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

思路:

  • 枚举1到1000000内的所有数,对每个数判断是否为质数(只能被1和自身整除)。
  • 同时计算每个质数的数位和,判断是否为23,符合条件则计数。
#include<iostream>
#include<cmath>
using namespace std;

bool isprime(int n)
{
	if(n<2)return false;
	for(int i=2;i<=sqrt(n);i++)
	{
		if(n%i==0)
			return false;
	}
	return true;
}

bool check(int x)
{
	int sum=0;
	while(x)
	{
		sum+=x%10;
		x/=10;
	}
	r
### 关于第十五蓝桥杯 Python 竞题解 对于第十五蓝桥杯 Python 的具体题目解析目前尚未广泛流传,这可能是因为比结束时间较短或者官方还未公布详细的解答文档。然而,基于以往的经验和相似的比模式可以推测一些常见的考点以及应对策略。 #### 常见考点预测 通常情况下,蓝桥杯会考察参者的基础编程能力、算法设计能力和解决实际问题的能力。根据往年的趋势来看,以下几点可能是重点: - **基础语法与数据结构**:掌握列表(lists),字典(dictionaries),集合(sets)等常用的数据容器操作[^1]。 - **字符串处理**:涉及字符编码转换、子串匹配等问题,在很多比中都占有一定比例[^2]。 - **简单数学逻辑**:包括但不限于排列合、数论基础知识的应用,这些知识点往往通过具体应用场景来测试选手的理解程度[^3]。 #### 解决方案建议 针对上述提到的几个方面,准备过程中应该注重理论学习的同时加强实践练习。编写程序时注意优化性能,尤其是在面对大数据量输入的情况下要考虑到时间和空间复杂度的影响。此外,多参与模拟训练并仔细研究历年的真题及其标准答案也是提高成绩的有效途径之一。 ```python def example_function(input_data): """ 这里提供了一个简单的函数模板作为例子, 实际上每道具体的题目都会有不同的需求。 参数: input_data (list): 输入参数 返回: result (int/str/list/dict etc.): 计算后的结果 """ # 处理逻辑... pass ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

了一li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值