返回

hdu6108 小C的倍数问题

发布时间:2022-11-28 17:49:36 128
# php# c++

题目链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=6108​​​
题意:中文题
解析:首先你要明白为什么3的倍数满足,各位数求和也为3的倍数,假设有一个三的倍数是abc,那么其实这个数用进制展开后,为
102*a+10*b+c = (102-1)*a+(10-1)*b+(a+b+c)
由于前两项都是3的倍数,所以需要a+b+c也为3的倍数
那么对于在p进制下,假设存在了一个各位数的和为B的倍数,但是你也必须保证(pn-1)也为B的倍数,由于这个是一定可以拆出(p-1)这一项的,所以只需要求(p-1)的倍数个数即可

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

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
hdu6045 Is Derek lying 2022-11-28 17:23:39