洛谷U32670 小凯的数字(比赛)
题目网址
https://www.luogu.org/problemnew/show/U32670
题目背景
NOIP2018 原创模拟题T1
NOIP DAY1 T1 or DAY 2 T1 难度
是否发现与NOIP2017 DAY1 T1 有异曲同工之妙
题目描述
小凯有一天突发奇想,写下了一串数字:l(l+1)(l+2)...(r-1)rl(l+1)(l+2)...(r−1)r
例如:l=2,r=5时,数字为:23452345
l=8,r=12时数字为:8910111289101112
小凯很喜欢数字9,所以他想问你他写下的数字除以9的余数是多少
例如:l=2,r=5时,2345 mod 9 = 5
输入输出格式
输入格式:
第一行为数字Q,表示小凯有Q个问题
第2-Q+1行,每行两个数字 l,r 表示数字范围
输出格式:
对于每行的问题输出一行,一个数字,表示小凯问题的回答
输入输出样例
2
2 5
8 12
5
5
3
1 999
123 456
13579 24680
0
6
0
说明
样例1解释:2345 mod 9 = 5 89101112 mod 9 = 5
30% 数据满足:Q<=10;l,r<=100
50% 数据满足:Q<=100;l,r<=10000
70% 数据满足:Q<=1000;l,r<=10^6
100%数据满足:Q<=10000;l,0<r<=10^12且 l<=r
题解
根据本题的数据范围,不难发现一定是一道数论题。这一题的难度和NOIP提高组day1的第一题水平差不多,所以应该不是很难;
解决本题,首先要知道:
定理1、能被9整除的数各位数字之和能被9整除;
定理2、如果有9*n(n为自然数)个连续的数字(如题意,比如123456789),那么该数一定能被9整除
第一点很好理解,其实第二点也同样如此,根据高斯求和公式,(首项+末项)*项数/2,
有计算经验的同学一定知道,(首项+末项)和项数中一定有一个是2的倍数,所以不存在带余除法,
那么因为项数是9的倍数,所以上述公式(首项+末项)*项数/2,一定是9的倍数,所以定理2成立。
那么,根据这两个定理,本题代码就很好写了。
再整理一遍思路:
1.读入问题数量Q,循环Q次,每次读入l和r;
2.计算出数字个数(即r-l+1的值),并对9取余,即定义一个变量cnt=(r-l+1)%9;
3.从r开始,往前依次枚举cnt次(因为cnt对9取过模,所以最多循环9次)
将枚举出的数字对9取余,加入sum中;
4.输出sum对9取余即可
5.本题还有一个细节:要用long long
代码
#include <cmath>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define ll long long using namespace std; int Q;
ll l,r; void work()
{
scanf ("%d",&Q);
while (Q--)
{
scanf ("%lld%lld",&l,&r);
ll cnt=(r-l+)%;
ll sum=;
for (ll i=,k=r;i<=cnt;i++,k--)
sum+=k%;
printf ("%lld\n",sum%);
}
return;
} int main()
{
work();
return ;
}
出处:https://www.cnblogs.com/yujustin/
洛谷U32670 小凯的数字(比赛)的更多相关文章
- 2017提高组D1T1 洛谷P3951 小凯的疑惑
洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...
- U32670 小凯的数字 数学
这是洛谷一个比赛中的一道题,和去年NOIP D1T1挺像.我看了一眼之后想“这不是小学奥数吗?求一个数字和就好了呀”...然后,60,剩下T了,gg. 只好看正解,但是一脸懵逼???然后看了证明,c* ...
- 洛谷P3951 小凯的疑惑 - 数学 /扩展欧几里得
传送门 题意:求出a和b不能通过线性组合(即n*a+m*b)得到的最大值: 思路:摘自洛谷: 不妨设 a<b 假设答案为 x 若 x≡m*a ( mod b )(1≤m≤b−1) (mod3)什 ...
- 洛谷 P3951 小凯的疑惑 找规律
目录 题面 题目链接 题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例: 输出样例: 说明 思路 证明 AC代码 include<bits/stdc++.h> 题面 ...
- 洛谷 U2878 小R的分数比赛(fraction)
题目提供者 2015c07 标签 数论(数学相关) 高精度 难度 尚无评定 通过/提交 0/29 提交该题 记录 题目背景 P5难度系数:★★★☆☆ 小R再次挑战你. 这次的挑战又会是什么呢? 题目描 ...
- 洛谷 P3951 小凯的疑惑
题目链接 一开始看到这题,我的内心是拒绝的. 以为是同余类bfs,一看数据1e9,发现只能允许O(1)的算法,数学还不太好,做不出来,其实应该打表找规律. 看到网上的题解,如果两个都必须拿,结果一定是 ...
- 洛谷 P3951 小凯的疑惑(数学)
传送门:Problem P3951 https://www.cnblogs.com/violet-acmer/p/9827010.html 参考资料: [1]:http://m.blog.sina.c ...
- 洛谷1373 小a和uim之大逃离
洛谷1373 小a和uim之大逃离 本题地址:http://www.luogu.org/problem/show?pid=1373 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北 ...
- 莫队 [洛谷2709] 小B的询问[洛谷1903]【模板】分块/带修改莫队(数颜色)
莫队--------一个优雅的暴力 莫队是一个可以在O(n√n)内求出绝大部分无修改的离线的区间问题的答案(只要问题满足转移是O(1)的)即你已知区间[l,r]的解,能在O(1)的时间内求出[l-1, ...
随机推荐
- Android应用开发基础之二:数据存储和界面展现(二)
常见布局 相对布局 RelativeLayout 组件默认左对齐.顶部对齐 设置组件在指定组件的右边 android:layout_toRightOf="@id/tv1" 设置在指 ...
- ORACLE_FUNCTION
FUNCTION: DEFINE:函数一般用于计算和返回一个值,可以将经常需要使用的计算或功能写成一个函数. 1.basic syntax create [or replace] function f ...
- 【Spring实战】—— 2 构造注入
本文讲解了构造注入以及spring的基本使用方式,通过一个杂技演员的例子,讲述了依赖注入属性或者对象的使用方法. 如果想要使用spring来实现依赖注入,需要几个重要的步骤: 1 定义主要的类和需要分 ...
- May 29th 2017 Week 22nd Monday
I figure life is a gift and I don't intend on wasting it. 我觉得生命是一份礼物,我不想浪费它. It seems that I didn't ...
- May 24th 2017 Week 21th Wednesday
Always remember that you are absolutely unique. 永远记住,你是独一无二的. I am unique, in the way that all I do ...
- Django运行访问项目出现的问题:Invalid HTTP_HOST header: '192.168.114.25:8001'. You may need to add u'192.168.114.25' to ALLOWED_HOSTS.
当运行python manage.py runserver 0.0.0.0:8001时候,出现Invalid HTTP_HOST header: '192.168.114.25:8001'. You ...
- 类型系统(type system)是一门编程语言最核心也是最基础的部分---编程语言最终的目标,本质上无非是回答两个问题:如何表示信息、如何处理信息
https://www.cnblogs.com/feng9exe/p/9712059.html 类型系统(type system)是一门编程语言最核心也是最基础的部分.无论该语言基于何种编程范式,都必 ...
- Django:ORM关系字段
一,ForeignKey 外键类型在ORM中用来表示外键关联关系,一般把ForeignKey字段设置在 '一对多'中'多'的一方. ForeignKey可以和其他表做关联关系同时也可以和自身做关联关系 ...
- SignalR中的依赖注入
什么是依赖注入? 如果你已经熟悉依赖注入可以跳过此节. 依赖注入 (DI) 模式下,对象并不为自身的依赖负责. 下边的例子是一个主动 DI. 假设你有个对象需要消息日志.你可能定义了一个日志接口: C ...
- python-实现登录接口
简介:1.在本地创建两个文件,一个文件的内容是存储用户名和密码,另一个的内容是存储锁定的用户 2.登录次数限制为三次,当密码错误三次后,该账号锁定,无法再次登录 #coding=ut ...