pku2539.cpp
来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 45 行
CPP
45 行
#include "stdio.h"
#include "math.h"
int main()
{
__int64 nu[102];
long t,a,b;
int i,j,flag;
while(scanf("%ld%ld%ld",&t,&a,&b)!=-1)
{
printf("(%d^%d-1)/(%d^%d-1) ",t,a,t,b);
if(t==1||a%b!=0||log10(t)*(a-b)>=100)
{
puts("is not an integer with less than 100 digits.");
continue;
}else
{
for(i=0;i<102;i++) nu[i]=0;
nu[0]=1;
for(j=1,flag=1;j<=a-b&&flag;j++)
{
for(i=0;i<102;i++) nu[i]*=t;
if(j%b==0) nu[0]+=1;
for(i=0;i<102;i++)
{
nu[i+1]+=nu[i]/10;
nu[i]=nu[i]%10;
if(nu[99]){flag=0;break;}
}
if(!flag) break;
}
if(flag)
{
for(i=101;i>=0&&nu[i]==0;i--);
for(;i>=0;i--) printf("%I64d",nu[i]);
}else
{
printf("is not an integer with less than 100 digits.");
}
puts("");
}
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?