设101×104×107×…×2009=A×10K次方这里AK都是正整数那么k的最大值为( )
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设101×104×107×…×2009=A×10K次方这里AK都是正整数那么k的最大值为( )相关的知识,希望对你有一定的参考价值。
k 的最大值就是乘积的末尾 0 的个数,也就是乘式中因数 5 的个数(因为 2 的个数多于 5 的个数,且 2×5=10),
左边 = 2009!/ 100!,
2009/5=401(取整,下同),
401/5=80,
80/5=16,
16/5=3,
100/5=20,
20/5=4,
所以 k 最大值=(401+80+16+3) - (20+4)
=476。追答
哦错了,看成连乘积了。
左边含因数 5 的有:
110×125×140×....×2000,共 127 个,
每个都除以 5 后是:
22×25×28×...×400,
其中含因数 5 的有:
25×40×55×...×400,
共 26 个,
同理,每个除以 5 后还含有因数 5 的有:。
5×20×35×50×65×80,
共 6 个,其中的 50 除以 5 后仍有因数 5,
所以 k 最大值为 127+26+6+1=160。
BIAS1 := (C-MA(C,12))/MA(C,12)*100;
BIAS2 := (C-MA(C,26))/MA(C,26)*100;
BIAS3 := (C-MA(C,48))/MA(C,48)*100;
HXL:=V/CAPITAL*100;
D1:=INDEXC;
D2:=MA(D1,56);
DR2:=D1/D2<0.94;
E1:=(C-HHV(C,12))/HHV(C,12)*10;
E2:=(C-REF(C,26))/REF(C,26)*10;
任意两点最短路径 最短路之floyd
本人水平有限,题解不到为处,请多多谅解
本蒟蒻谢谢大家观看
floyd算法:
设D[k,i,j]表示“经过若干个编号不超过k的节点” 从i到j的最短路径长度
D[k,i,j]=min(D[k-1,i,j],D[k-1,i,k]+D[k-1,k,j]);
初始为D[0,i,j]=A[i,j];A为邻接矩阵
设有向图G=(V,E),V为点集,E为边集,(x,y)表示一条从x到y的有向图,其边权(或称长度)为W(x,y)。设n=|V|,m=|E|,邻接矩阵A是一个n*n的矩阵。
A的定义如下:
A[i,j]={ 0 i=j
w(i,j) (i,j)属于E
+∞ (i,j)不属于E
}
所以k为阶段,所以必须置于最外层循环中
省略k这一维之后的DP
D[i,j]=min(D[i,k]+D[k,j]);
最终D[i,j]为i到j的最短路径长度
模板如下:
code:
1 #include<bits/stdc++.h> 2 #pragma GCC optimize(3) 3 4 using namespace std; 5 int n,m; 6 int f[310][310]; 7 inline int read(){ 8 int x=0,f=1;char ch=getchar(); 9 while(!isdigit(ch)){if(ch==‘-‘)f=-1;ch=getchar();} 10 while(isdigit(ch)){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();} 11 return x*f; 12 } 13 inline void write(int x) 14 { 15 if(x<0)x=-x,putchar(‘-‘); 16 if(x>9)write(x/10); 17 putchar(x%10+‘0‘); 18 } 19 int main() 20 { 21 memset(f,0x3f,sizeof(f));//初始距离最大 22 for(int i=1;i<=n;i++)f[i][i]=0;//自己到自己的距离为0 23 n=read(),m=read(); 24 for(int i=1,x,y,z;i<=m;i++){ 25 x=read(),y=read(),z=read(); 26 f[x][y]=min(f[x][y],z);//建邻接矩阵 27 } 28 for(int k=1;k<=n;k++){ 29 for(int i=1;i<=n;i++){ 30 for(int j=1;j<=n;j++){ 31 f[i][j]=min(f[i][j],f[i][k]+f[k][j]); 32 } 33 } 34 } 35 return 0; 36 }
应用:
传递闭包
code:
1 #include<bits/stdc++.h> 2 #pragma GCC optimize(3) 3 4 using namespace std; 5 int n,m; 6 bool f[310][310]; 7 inline int read(){ 8 int x=0,f=1;char ch=getchar(); 9 while(!isdigit(ch)){if(ch==‘-‘)f=-1;ch=getchar();} 10 while(isdigit(ch)){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();} 11 return x*f; 12 } 13 inline void write(int x) 14 { 15 if(x<0)x=-x,putchar(‘-‘); 16 if(x>9)write(x/10); 17 putchar(x%10+‘0‘); 18 } 19 int main() 20 { 21 for(int i=1;i<=n;i++)f[i][i]=1; 22 n=read(),m=read(); 23 for(int i=1,x,y,z;i<=m;i++){ 24 x=read(),y=read(),z=read(); 25 f[x][y]=f[y][x]=1; 26 } 27 for(int k=1;k<=n;k++){ 28 for(int i=1;i<=n;i++){ 29 for(int j=1;j<=n;j++){ 30 f[i][j]|=f[i][k]&f[k][j]; 31 } 32 } 33 } 34 return 0; 35 }
以上是关于设101×104×107×…×2009=A×10K次方这里AK都是正整数那么k的最大值为( )的主要内容,如果未能解决你的问题,请参考以下文章