标签:大于 love 变量 namespace span *** clu += ace
注意题目中一旦有大于1e9的数字,所有变量全用Longlong替代,包括i,j
或者一开始直接define int longlong ,然后之后主函数用int32_t,输入输出用int32_t替代
#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll INF=1e18+7; ll p[1000010]; ll c[1000010]; ll res=INF; int main() { ll n,x; scanf("%lld%lld",&n,&x); if(n==1) { printf("0\n"); return 0; } int m=0; for(int i=2;1LL*i*i<=x;i++)//一旦出现大于10^9的数字,所有变量(包括i,j都要用long long),惨痛的教训 { printf("%d\n",i); if(x%i==0){ p[++m]=i,c[m]=0; while(x%i==0) x/=i,c[m]++; } } if(x>1) p[++m]=x,c[m]=1; int tot=0; //printf("***\n"); for(int i=1;i<=m;i++) { ll tmpn=n; ll num=0; //printf("****\n"); while(tmpn) { //printf("%d\n",++tot); num+=tmpn/p[i]; tmpn/=p[i]; } num/=c[i]; res=min(num,res); } printf("%lld\n",res); }
cf1114 C. Trailing Loves (or L'oeufs?)
标签:大于 love 变量 namespace span *** clu += ace
原文地址:https://www.cnblogs.com/lishengkangshidatiancai/p/10361154.html