数字游戏13524_数字表达

数字游戏13524_数字表达由于科协里最近真的很流行数字游戏。某人又命名了一种取模数,这种数字必须满足各位数字之和 mod N 为 0。现在大家又要玩游戏了,指定一个整数闭区间 [a.b],问这个区间内有多少个取模数。输入格式输入包含多组测试数据,每组数据占一行。每组数据包含三个整数 a,b,N。输出格式对于每个测试数据输出一行结果,表示区间内各位数字和 mod N 为 0 的数的个数。数据范围1≤a,b≤231−1,1≤N<100输入样例:1 19 9输出样例:2#include<bits


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

由于科协里最近真的很流行数字游戏。

某人又命名了一种取模数,这种数字必须满足各位数字之和 mod N 为 0。

现在大家又要玩游戏了,指定一个整数闭区间 [a.b],问这个区间内有多少个取模数。

输入格式
输入包含多组测试数据,每组数据占一行。

每组数据包含三个整数 a,b,N。

输出格式
对于每个测试数据输出一行结果,表示区间内各位数字和 mod N 为 0 的数的个数。

数据范围
1≤a,b≤231−1,
1≤N<100

输入样例:
1 19 9
输出样例:
2
#include<bits/stdc++.h>
using namespace std;
const int N = 11;
const int MOD = 100;
int f[N][10][MOD];
int mo,l,r;
int mod(int x,int y){ 
   
    return (x % y + y) % y;
}
void init(){ 
   
    memset(f,0,sizeof f);
    for(int i = 0;i < 10;i ++){ 
   
        for(int j = 0;j < MOD;j ++){ 
   
            if(mod(i,mo) == j)f[1][i][j] ++;
        }
    }
    for(int i = 2;i < N;i ++){ 
   
        for(int j = 0;j < 10;j ++){ 
   
            for(int k = 0;k < MOD;k ++){ 
   
                for(int z = 0;z < 10;z ++){ 
   
                    f[i][j][k] += (f[i - 1][z][mod(k - j,mo)]);
                }
            }
        }
    }
}
int dp(int n){ 
   
    if(!n)return 1;
    vector<int>nums;
    while(n)nums.push_back(n % 10),n /= 10;
    
    int res = 0,last = 0;
    for(int i = nums.size() - 1;i >= 0;i --){ 
   
        int x = nums[i];
        for(int j = 0;j < x;j ++)res += f[i + 1][j][mod(last,mo)];
        last = mod(last - x,mo);
        if(!i && !last)res ++;
    }
    
    return res;
}
int main(){ 
   
    while(cin>>l>>r>>mo){ 
   
        if(l > r)swap(l,r);
        init();
        cout<<(dp(r) - dp(l - 1))<<endl;
    }
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169084.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • DHCP 协议详解

    DHCP 协议详解1DHCP协议1.1DHCP协议理解定义:DHCP:DynamicHostConfigurationProtocol,动态主机配置协议,是一个用于局域网的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要有两个用途:用于内部网或网络服务供应商自动分配IP地址给用户 用于内部网管理员对所有电脑作中央管理作用:动态分配IP地址,过程自动化,终端无需一一…

    2022年5月24日
  • Oracle PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功)

    Oracle PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功)Oracle PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功)  本篇主要内容如下:2.1   PL/SQL块2.2   PL/SQL结构2.3   标识符2.4   PL/SQL 变量类型2.4.1  变量类型2.4.2  复合类型2.4.2.1 记录类型2.4.2.2 数组类型2.4.2.3 使用%TYPE

    2022年6月17日
  • 安卓 toast_安卓toast使用

    安卓 toast_安卓toast使用概述一个toast是在屏幕上弹出一条信息,它的大小总是包裹着需要显示的内容,并且当前的Activity依然是可见并且可互动的。toast会自动消失,并且不接受任何互动事件。因为toast可以在后台的 Service 中创建,所以即使这个应用程序没有显示在屏幕上,仍然可以弹出toast.toast最好用来显示简要的信息,比如断定用户正在注意屏幕时,弹出”Fil

    2022年9月12日
  • redis过期删除机制(redis过期策略和删除策略)

    在Redis中,内存的大小是有限的,所以为了防止内存饱和,需要实现某种键淘汰策略。主要有两种方法,一种是当Redis内存不足时所采用的内存释放策略。另一种是对过期键进行删除的策略,也可以在某种程度上释放内存。1、内存释放的策略Redis中有专门释放内存的函数:freeMmoryIfNeeded。每当执行一个命令的时候,就会调用该函数来检测内存是否够用。如果已用内存大于最大内存限制,它就会进行内存释…

    2022年4月17日
  • smartctl命令详解_cmp汇编语言

    smartctl命令详解_cmp汇编语言smartctl输出详解

    2022年10月8日
  • 【深度学习】【语义分割】ASPP

    【深度学习】【语义分割】ASPPASPP空洞空间卷积池化金字塔(atrousspatialpyramidpooling(ASPP))对所给定的输入以不同采样率的空洞卷积并行采样,相当于以多个比例捕捉图像的上下文。上图为deeplabv2的ASPP模块,deeplabv3中向ASPP中添加了BN层,其中空洞卷积的rate的意思是在普通卷积的基础上,相邻权重之间的间隔为rate-1,普通卷积的rate默认为1,所以…

    2022年8月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号