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


相关推荐

  • CentOs 7 安装图形界面「建议收藏」

    CentOs 7 安装图形界面「建议收藏」小编在虚拟机上安装好之后,发现没有图形界面,只有命令行,虽然平常工作中都是用命令,但是没有图形界面老感觉缺点啥,所以就安装一下图形界面在root环境下执行安装命令yumgroupinstall"GNOMEDesktop""GraphicalAdministrationTools"执行过程中结果出错了:Cannotfindavalidbaseurlforrepo…

    2022年5月25日
    34
  • wxpython自定义控件_wxPython 教程(十三) 自定义控件

    wxpython自定义控件_wxPython 教程(十三) 自定义控件本节讲述wxPython自定义控件。GUIToolkits会提供多数常用的部件,比如按钮、文本控件、滚动条、滑块等等。wxPython也会提供很多控件,但若需要更定制化的控件还是需要开发者自己编写。自定义控件通过两种方式创建:一种是通过修改或增强现有控件,另一种是我们从零开始直接创建。超链接控件第一个例子是创建一个超链接控件,我们基于wx.lib.stattext.GenStatic…

    2022年5月11日
    30
  • 通俗讲解 同步、异步、阻塞、非阻塞 编程

    通俗讲解 同步、异步、阻塞、非阻塞 编程#真正意义上的异步IO是说内核直接将数据拷贝至用户态的内存单元,再通知程序直接去读取数据。#select/poll/epoll都是同步IO的多路复用模式1.同步和异步#同步和异步关注的是消息通信机制#所谓同步,就是在发出一个*调用*时,没得到结果之前,该*调用*就不返回。但是一旦调用返回就得到返回值了,*调用者*主动等待这个*调用*的结果#所谓异步,就是在发出一个*调用*时,这个*调用*就直接返回了,不管返回有没有结果。当一个异步过程调用发出后,*被调用者*.

    2022年6月1日
    35
  • mse均方误差计算公式_视觉SLAM十四讲实践之真实轨迹和估计轨迹均方根误差「建议收藏」

    mse均方误差计算公式_视觉SLAM十四讲实践之真实轨迹和估计轨迹均方根误差「建议收藏」为了理解RMSE首先介绍一些统计学的概念,然后介绍SLAM领域里面的计算精度ATE和RPE的用法。中位数一组数据按大小顺序排列,位于最中间的一个数据(当有偶数个数据时,为最中间两个数据的平均数)叫做这组数据的中位数。用中位数作为一组数据的代表,可靠性不高,但受极端数据影响的可能性小一些,有利于表达这组数据的“集中趋势”。众数几组数据中出现次数最多的那个数据,叫做这批数据的众数。用众…

    2022年9月30日
    3
  • mysql gtid复制_MySQL主从同步

    mysql gtid复制_MySQL主从同步48、mysql基于GTID的主从复制实战

    2022年4月20日
    37
  • C++矩阵运算

    C++矩阵运算

    2021年11月19日
    57

发表回复

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

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