当前位置: 首页 > news >正文

召唤数学精灵

1.召唤数学精灵 - 蓝桥云课

问题描述

数学家们发现了两种用于召唤强大的数学精灵的仪式,这两种仪式分别被称为累加法仪式 A(n) 和累乘法仪式 B(n)。

累加法仪式 A(n) 是将从1到 n 的所有数字进行累加求和,即:
A(n)=1+2+⋯+n

累乘法仪式 B(n) 则是从1到 n 的所有数字进行累乘求积,即:
B(n)=1×2×⋯×n

据说,当某个数字 i 满足 A(i)−B(i) 能被100整除时,数学精灵就会被召唤出来。

现在,请你寻找在1到2024041331404202之间有多少个数字 i,能够成功召唤出强大的数学精灵。

答案提交

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

思路:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 1e4;
ll n = 2023041331404202;
ll ad[N],chen[N],ans = 0;
int main(void)
{
    ll a = 0,b = 1;
    for(ll i = 1 ; i <= 1000 ; i++)
    {
        a =(a+i)%100;
        b =(b*i)%100;
        ll t = (b - a) % 100;
        if(t % 100 == 0) cout<<i<<endl;  
    }
    return 0;
}

我们可以发现,从200以后开始,每200个数字都会出现4次。1~200的数字出现6次,不满足周期。所以我们要减去前200的数字。注意,这里是划分数字,减去200不是缩小范围

  • 为何减去200?:这是将总范围分割为前200和后续部分,确保前200个被单独处理,而后续部分应用周期性规律。减法仅用于计算剩余数字的数量,不会减少实际范围。

  • 是否遗漏前200的解?:不会,前200的解已单独计算并加到总结果中。后续的周期性计算仅针对201到N的部分。

所以答案就是(2024041331404202 / 200)*4 + 6

代码:

#include <iostream>
using namespace std;
int main()
{
  cout << ll(2024041331404202 / 200)*4 + 6;
  return 0;
}

http://www.dtcms.com/a/103399.html

相关文章:

  • Jiangxi Province Baseball Softball Development Plan【江西棒垒球】
  • AI提示语:生成演示文稿 PPT
  • 将内网的IP地址映射到外网的几种方案
  • 堆叠虚拟化
  • Spring Boot分布式项目重试实战:九种失效场景与正确打开方式
  • JavaScript中 == 和 === 区别
  • 汇编语言学习前言
  • Java Spring Boot 与前端结合打造图书管理系统:技术剖析与实现
  • 12-SpringBoot3入门-项目打包和运行
  • 【力扣hot100题】(024)环形链表
  • kali配置固定IP
  • AI 数字人短视频数字人口播源码:短视频内容生产的新引擎​
  • axios介绍以及配置
  • 【LeetCode】二叉树的递归遍历
  • promise使用及其方法
  • CMake在Windows环境下Visual Studio Code的使用
  • 利用deepseek直接调用其他文生图网站生成图片
  • [VolgaCTF 2025] Baby-Welcome,BrokeBroke,Field Rules
  • nginx的自定义日志
  • 爬虫:网络请求(通信)步骤,http和https协议
  • C++算法——分治
  • MVC编程
  • Web网页内嵌 Adobe Pdf Reader 谷歌Chrome在线预览编辑PDF文档
  • 程序化广告行业(46/89):竞价结算规则、底价策略与内部排名解析
  • WPF 自定义路由事件
  • 题解:蓝桥杯 2023 省 B 接龙数列 - dp + 哈希map
  • 高通Android 8.1/9/10/11/12/13 通过包名设置默认launcher
  • [MySql] 多表关系, 多表查询
  • 消息中心系统架构设计
  • 14 配置Hadoop集群-配置历史和日志服务