2018NJUPT第三场排位赛 时光的小学题(数学)

这里写图片描述
这里写图片描述

分析:

/p进制下一个正整数是B的倍数的充分必要条件是每一位加起来的和是B的倍数,就是求p-1约数的个数/

#include <iostream>
#include <vector>  
#include <list>  
#include <map>  
#include <set>  
#include <queue>  
#include <stack>  
#include <algorithm>   
#include <iomanip>  
#include <cmath>  
#include <cstdlib>  
#include <string>
#include<string.h>  
#define inf 0x3f3f3f
#define sf scanf
#define pf printf
using namespace std;
typedef long long ll;
int T;
ll p,a,b,cnt;
int main()
{
    cin>>T;
    while(T--)
    {
        cin>>p;
        cnt=0;
        a=p-1;
        int i;
        for(i=1;i*i<=a;i++){
            if((a%i==0)) cnt++;
        }
        i--;
        cnt=cnt*2;

        if(i*i==a){
            cnt--;
        }
        cout<<cnt<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_37360631/article/details/81583186
今日推荐