• 小凯的数字


    题目背景

    NOIP2018 原创模拟题T1

    NOIP DAY1 T1 or DAY 2 T1 难度

    是否发现与NOIP2017 DAY1 T1 有异曲同工之妙

    说明:#10,bug已修复

    题目描述

    小凯有一天突发奇想,写下了一串数字:l(l+1)(l+2)...(r-1)r

    例如:l=2,r=5时,数字为:2345

    l=8,r=12时数字为:89101112

    小凯很喜欢数字9,所以他想问你他写下的数字除以9的余数是多少

    例如:l=2,r=5时,2345 mod 9 = 5

    输入输出格式

    输入格式:

    第一行为数字Q,表示小凯有Q个问题

    第2-Q+1行,每行两个数字 l,r 表示数字范围

    输出格式:

    对于每行的问题输出一行,一个数字,表示小凯问题的回答

    输入输出样例

    输入样例#1: 
    2
    2 5
    8 12
    输出样例#1:
    5
    5
    输入样例#2: 
    3
    1 999
    123 456
    13579 24680
    输出样例#2: 
    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;0<l,r<=10^12 且 l<=r

    分析:

    这道题还是比较适合初学乘法逆元做的,于是我敲完模板就A了这题(话说这也是除了模板外逆元的唯一一道绿题)。事实上本题就是模板。。。但是注意long long啊!

    CODE:

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <cmath>
     4 #include <iostream>
     5 #include <algorithm>
     6 using namespace std;
     7 int t;
     8 long long l,r;
     9 int main(){
    10     scanf("%d",&t);
    11     while (t--){
    12         scanf("%lld%lld",&l,&r);
    13         printf("%lld
    ",(l+r)%9*(r-l+1)%9*5%9);
    14     }
    15     return 0;
    16 }
  • 相关阅读:
    双循环解决添加列表问题
    贪心算法
    隔板法发红包
    python小兵之时间模块
    开发规范
    python 小兵(12)模块1
    Linux系统
    刷题
    Socket
    栈和队列
  • 原文地址:https://www.cnblogs.com/kanchuang/p/11131775.html
Copyright © 2020-2023  润新知