数字游戏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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何查看linux系统的内核版本信息_内核版本

    如何查看linux系统的内核版本信息_内核版本查看Linux内核版本和系统版本信息**一、查看Linux内核版本命令(两种方法):1、cat/proc/version2、uname-a二、查看Linux系统版本的命令(3种方法):1、lsb_release-a,即可列出所有版本信息这个命令适用于所有的Linux发行版,包括RedHat、SUSE、Debian…等发行版。2、cat/etc/redhat-release,这…

    2022年10月13日
    5
  • spring boot + kafka 使用详细步骤[通俗易懂]

    spring boot + kafka 使用详细步骤[通俗易懂]一,Kafka的安装以及配置1.下载文件wgethttp://mirror.bit.edu.cn/apache/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz2.安装tarxzvfkafka_2.11-0.11.0.0.tgz-C/usr/local/3.配置(服务器在阿里云ECS上)vi%kafka_home%/server…

    2022年5月9日
    141
  • 有关SqlDbType.Decimal

    有关SqlDbType.Decimal今天在开发过程中遇到SqlDbType.Decimal类型的参数,返回值却是没有小数位的整数值,郁闷坏了。查了半天资料,原来需要指定小数位。具体书写如下:               cmd.Parameters.Add(“@Percent”,SqlDbType.Decimal).Direction=ParameterDirection.Output;               cm

    2022年7月20日
    14
  • 什么是函数模板和类模板(一个c程序有几个函数)

    模板类与类模板、函数模板与模板函数等的区别函数指针=指向函数的指针指针函数=返回指针的函数数组指针=指向数组的指针指针数组=内容是指针的数组类模板=用来产生类的模板模板类=使用类模板产生的类函数模板=用来产生函数的模板模板函数=使用函数模板产生的函数后面转至https://www.cnblogs.com/wangduo/p/5559049.html …

    2022年4月16日
    46
  • 阿里巴巴JVM调优工具arthas「建议收藏」

    阿里巴巴JVM调优工具arthas「建议收藏」下载下载全量包从Maven仓库下载最新版本,点击下载:从GithubReleases页下载https://github.com/alibaba/arthas/releases用as.sh启动解压后,在文件夹里有as.sh,直接用./as.sh的方式启动:./as.sh打印帮助信息:./as.sh-h用arthas-boot启动或者在解压后,在文件夹里有arthas-boot.jar,直接用java-jar的方式启动:java-jararth

    2022年5月6日
    71
  • matlab 加权回归估计_matlab代码:地理加权回归(GWR)示例

    matlab 加权回归估计_matlab代码:地理加权回归(GWR)示例【实例简介】地理加权回归(GWR)matlab代码,亲测可用,该代码利用matlab实现了地理加权回归的代码,内附实际算例。【实例截图】【核心代码】functionresult=gwr(y,x,east,north,info);%PURPOSE:computegeographicallyweightedregression%—————————–…

    2022年10月6日
    2

发表回复

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

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