HDU 6108 小C的倍数问题 (数论 2017百度之星初赛A第1题)

来源:互联网 发布:unreal 源码分析 编辑:程序博客网 时间:2024/05/16 01:52

题目链接

HDU6108

题目大意

给定进制P,求有多少个B满足P进制下,一个正整数是B的倍数的充分必要条件是每一位加起来的和是B的倍数。

分析

问题即求P-1有几个因子。证明待补。。。

代码

#include <bits/stdc++.h>using namespace std;int main(){    int T,p,i,cnt;    scanf("%d",&T);    while (T--)    {        scanf("%d",&p);        cnt=0;        p--;        for (i=1;i<=sqrt(p);i++)//求p-1有几个因子        {            if (p%i==0)            {                if (i!=p/i) cnt+=2;                else cnt++;            }        }        printf("%d\n",cnt);    }    return 0;}
阅读全文
0 0
原创粉丝点击