1104.整除问题

Posted bernieloveslife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1104.整除问题相关的知识,希望对你有一定的参考价值。

题目描述:

给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。

输入:

两个整数n(2<=n<=1000),a(2<=a<=1000)

输出:

一个整数.

样例输入:
6 10
样例输出:
1


#include<stdio.h>
#include<string.h>
bool mark[1010];
int prime[1010];
int primesize;
void init(){
    primesize=0;
    for(int i=2;i<=1000;i++){
        if(mark[i]) continue;
        mark[i]=true;
        prime[primesize++]=i;
        for(int j=i*i;j<=1000;j+=i){
            mark[j]=true;
        }
    }
}

int cnt[1010];
int cnt2[1010];
int main(){
    int n,a;
    init();
    while(scanf("%d%d",&n,&a)==2){
        for(int i=0;i<primesize;i++)
        cnt[i]=cnt2[i]=0;
        for(int i=0;i<primesize;i++){
            int t=n;
            while(t){
                cnt[i]+=t/prime[i];
                t=t/prime[i];
            }
        }
        int ans=123123123;
        for(int i=0;i<primesize;i++){
            while(a%prime[i]==0){
                cnt2[i]++;
                a/=prime[i];
            }
            if(cnt2[i]==0) continue;
            if(cnt[i]/cnt2[i]<ans) ans=cnt[i]/cnt2[i];
        }
        printf("%d
",ans);
    }
    return 0;
}

 




以上是关于1104.整除问题的主要内容,如果未能解决你的问题,请参考以下文章

这个c代码有啥问题?

1104 Sum of Number Segments(二刷)

在片段中使用 CoordinatorLayout 时如何使状态栏透明

CSS中的媒体片段URI替代方案?

使用 Relay 和 React-Native 时的条件片段或嵌入的根容器

伪代码