#include<stdio.h>
#include<stdlib.h>
int main()
{
freopen("in.txt", "r", stdin);
freopen("wangdai.out", "w", stdout);
__int64 fz,fm,h,min1,max,min,n,m,t,k,x;
scanf("%I64d",&t);
{
for(int i=1;i<=t;i++)
{
scanf("%I64d%I64d",&n,&k);
m=1;
for(int j=1;m<n;j++)
{
m=k*m;
x=j;
}
h=1;
fz=x*m;
fm=n;
min=fm;
max=fz;
if(fm>fz){min=fz;max=fm;}
while(min)
{
min1=min;
min=max%min;
max=min1;
h=max;
}
fm=fm/h;
fz=fz/h;
printf("Case %d: %I64d/%I64d\n",i,fz,fm);
}
}
return 0;
}
本题笔记..
1...本题是做的第一个自己推到数学公式的题目,.运用到高数的无穷级数求和..
2...方法正确了,但是,对于数据的处理上面,最开始用的是int型的..导致有数据越界,表示成为负数,以后应该注意.
3...每个OJ上面有不同的规定,比如本题数据全部是正确的,但是不能用long long int声明,只能用_int64.同时 int64的输入输出是scanf("%I64d%I64d",&n,&k);