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

洛谷题单指南-进阶数论-P4942 小凯的数字

原题链接:https://www.luogu.com.cn/problem/P4942

题意解读:l(l+1)(l+2)...(r1)r​的数字模9的结果。

解题思路:

l(l+1)(l+2)...(r1)r​ 展开成l * 10^? + (l+1)*10^? + (l + 2)*10^? + ... + (r - 1) * 10^? + r

  ( l * 10? + (l+1)*10? + (l + 2)*10? + ... + (r - 1) * 10? + r ) % 9

= ( l * 10?%9 + (l+1)*10?%9 + (l + 2)*10?%9 + ... + (r - 1) * 10? + r ) % 9

由于10% 9 = 1,上式进一步简化为:

(l + l+1 + l+2 + ... + r-1 + r) % 9

= ((l + r) * (r - l + 1) / 2) % 9

根据模的性质,除以2模9转化成乘以2模9的逆元,2模9的逆元根据定义可以计算:2x ≡ 1 (mod 9),x = 5

因此上式转化为:

((l + r) * (r - l + 1)  * 5) % 9

= (((l + r)%9) * ((r - l + 1)%9)  * 5) % 9

这样就不会超出longlong的范围了

当然,如果不了解逆元,直接用高精度乘法和除法来做也完全是ok的。

100分代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;LL l, r, ans;int main()
{int t;cin >> t;while(t --){cin >> l >> r;ans = ((l + r) % 9) * ((r - l + 1) % 9) * 5; cout << (ans % 9) << endl;}return 0;
}

 

http://www.sczhlp.com/news/126695/

相关文章:

  • 【炼石计划NOIP】第八套 赛后总结
  • 下载了idea
  • 要查询一个网站在什么公司做的推广怎么查国外建设网站情况
  • 企业被网站收录wordpress文章归档
  • 网站建设推广人员wordpress 添加留言板
  • 成都搜索优化整站优化南京专业的网站设计团队
  • 网站图片批量上传做全国社保代理的网站
  • 免费源码网站天德山经济开发区建设局网站
  • 做的物流网站有哪些网上购物的网站开发背景
  • 为什么南极建站在2月网站建设预算计算方法
  • 双八网站建设做网站的软件叫什么软件
  • vite7-webos网页版os管理|Vue3+Vite7+ArcoDesign搭建pc端os后台系统
  • 三门问题的多种解法,总有一个你看得懂
  • hbase学习——创建springboot+hbase项目
  • python_Day22笔记
  • 网站开发西安中软陕西多地最新通知
  • 重庆网站seo营销模板成都灯箱广告制作公司
  • 长宁区网站建设新圩做网站公司
  • 自己做网站 怎样下载模板软件培训公司排名
  • 建设多用户网站360网站点评
  • 户外保险网站wordpress walker
  • 自己做个网站怎么做中企动力销售不好开单
  • 免费推广网站推荐关于建设网站的情况说明书
  • 网站建设咨询中心家政的网站怎么做
  • 网站建设价格正规本地网站做不大
  • 网站的软件维护包括什么深圳市造价信息网
  • 开发高端网站开发十大看免费行情的软件下载
  • SUDO提权
  • 2025.9.19 总结
  • 网站名是域名吗建一个网站模板网