题意是求在给定的 P 进制下,满足条件的数字 B 有多少。条件:若任何一个数的各位数字之和能被 B 整除,则该数可被 B 整除。

在 p 进制下,每个正整数都可以都可以表示为:a0*p^0 + a1*p^1 + a2*p^2 +…+an*p^n

(a0*p^0 + a1*p^1 + a2*p^2 +…+an*p^n) % B = 0 ⇒(a0 % B + a1 % B * p^1 % B +…+ an % B * p^n % B)% B = 0    (1)

(a0 + a1 + … + an) % B = 0 ⇒ (a0 % B + … + an % B) % B = 0                            (2)

(1)和(2)等价  当且仅当  p % B = 1( 即 p^n % B = 1),而 p % (p - 1) = 1,问题就转化成了求 p - 1 的因子个数。

代码如下:

 #include <bits/stdc++.h>
using namespace std;
int main()
{
int t,a,cnt,tmp;
scanf("%d",&t);
while(t--)
{
scanf("%d",&a);
--a;
cnt = ;
for(int i = ; i*i <= a; ++i)
{
if(a%i==)
{
tmp = ;
while(a%i==)
{
a/=i;
++tmp;
}
cnt*=(tmp+);
}
}
if(a>) cnt<<=;
printf("%d\n",cnt);
}
return ;
}

感谢这些博客的作者:

https://blog.csdn.net/hackertom/article/details/77131192

https://blog.csdn.net/qq_40679299/article/details/80583222

HDU 6108(整除判断 数学)的更多相关文章

  1. HDU 6108 小C的倍数问题 【数学】 (2017"百度之星"程序设计大赛 - 初赛(A))

    小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  2. 2017"百度之星"程序设计大赛 - 初赛(A) [ hdu 6108 小C的倍数问题 ] [ hdu 6109 数据分割 ] [ hdu 6110 路径交 ] [ hdu 6112 今夕何夕 ] [ hdu 6113 度度熊的01世界 ]

    这套题体验极差. PROBLEM 1001 - 小C的倍数问题 题 OvO http://acm.hdu.edu.cn/showproblem.php?pid=6108 (2017"百度之星 ...

  3. HDU 4937 Lucky Number (数学,进制转换)

    题目 参考自博客:http://blog.csdn.net/a601025382s/article/details/38517783 //string &replace(iterator fi ...

  4. hdu2108 Shape of HDU 极角排序判断多边形

    Problem Description 话说上回讲到海东集团推选老总的事情,最终的结果是XHD以微弱优势当选,从此以后,"徐队"的称呼逐渐被"徐总"所取代,海东 ...

  5. 判断&数学&生活

    作者:黄永刚 初次接触<概率论与数理统计>这门课的时候,脑袋中只有三个词:黑球.白球.袋子,所有的课程内容就是先取,后取,接触一月之后成功的被放趴下了,因此对于这门课程是没有什么好感的,考 ...

  6. HDU 1840 Equations (数学)

    title: Equations 数学 杭电1840 tags: [数学] 题目链接 Problem Description All the problems in this contest tota ...

  7. ACM学习历程—HDU 5512 Pagodas(数学)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5512 学习菊苣的博客,只粘链接,不粘题目描述了. 题目大意就是给了初始的集合{a, b},然后取集合里 ...

  8. 【同余】HDU 6108 小C的倍数问题

    http://acm.hdu.edu.cn/showproblem.php?pid=6108 [题意] 给定进制P,求有多少个B满足P进制下,一个正整数是B的倍数的充分必要条件是每一位加起来的和是B的 ...

  9. HDU 6590 Code (判断凸包相交)

    2019 杭电多校 1 1013 题目链接:HDU 6590 比赛链接:2019 Multi-University Training Contest 1 Problem Description Aft ...

随机推荐

  1. 目录命令(dir)

    DIR 命令: // 描述: (Directory) 显示目录的文件和子目录的列表. // 语法: dir [<Drive>:][<Path>][<FileName> ...

  2. SQLServer之修改触发器

    修改触发器规则 修改CREATE TRIGGER语句以前创建的 DML.DDL 或登录触发器的定义.触发器是通过使用CREATE TRIGGER创建的.这些触发器可以由Transact-SQL语句直接 ...

  3. echarts柱状图点击阴影部分触发事件

    在很多时候我们的柱状图分布不均匀,有些柱高可能会很小,如果通过myChart.on('click',function(){})来促发事件,可能在点击的时候不好操作,因为这个click事件是绑定在各个s ...

  4. Thread中的join()方法

    package com.qjc.thread; public class JoinExcemple { // join方法就是用来同步的 public static void main(String[ ...

  5. HBase实践案例:车联网监控系统

    项目背景 本项目为车联网监控系统,系统由车载硬件设备.云服务端构成.车载硬件设备会定时采集车辆的各种状态信息,并通过移动网络上传到服务器端.服务器端接收到硬件设备发送的数据首先需要将数据进行解析,校验 ...

  6. Visual Studio中Image Watch的使用

    Imag watch的简介 Image Watch是一个VS插件,能够让你在调试一个OpenCV程序的时候,看到内存中的图像,这对跟踪bug或者理解一段代码非常有帮助.(原文:Image Watch ...

  7. java将对象转map,map转对象工具类

    /** * 将map转换为一个对象 * * @param map * @param beanClass * @return * @throws Exception */ public static O ...

  8. UNICODE与ASCII

    1.ASCII的特点 ASCII 是用来表示英文字符的一种编码规范.每个ASCII字符占用1 个字节,因此,ASCII 编码可以表示的最大字符数是255(00H—FFH).这对于英文而言,是没有问题的 ...

  9. Java 最常见的 200+ 面试题汇总

    这份面试清单是我从 2015 年做 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平.虽 ...

  10. 不要再被骗了------QQ盗号原理大揭秘

    前言 相信大家在懵懂无知的时候都有被盗号的经历吧,QQ胡乱的加好友,突然有个好友传了个文件给你,打开以后发现QQ竟然显示强制下线,然后再也上不去了QAQ,很明显,QQ号被人盗了.最近也是很多小伙伴私信 ...