整除问题——给定n,a,求出最大的k,使得n!可以被a^k整除,但不能被a^(k+1)整除
要求:输入两个整数n(2<=n<=1000),a(2<=a<=1000) 输出一个整数
输入示例:6 10
输出示例:1
实现代码:
#include <stdio.h>
bool a[1001];
int b[1001];
int size;
void Init(){
size =0;
for(int i=2;i<=1000;i++){
if(a[i]==true) continue;
b[size++]=i;
if(a[i]==false){
for(int j=i*i;j<=1000;j+=i){
a[j]=true;
}
}
}
} //求1~1000所有素数
int cnt1[1001],cnt2[1001];
int main(int argc, char *argv[])
{
int n,a;
while(scanf("%d%d",&n,&a)==2){
Init();
for(int i=0;i<size;i++){