#include<iostream>
using namespace std;

__int64 gcd(__int64 a,__int64 b)
{
return b?gcd(b,a%b):a;
}

__int64 lcm(__int64 a,__int64 b)
{
return a/gcd(a,b)*b;
}

int numlen(__int64 n)
{
int len=0;

while(n)
{
n/=10;
len++;
}
return len;
}

int main()
{
__int64 s,m,g,d;
int l1,l2,i,n;

while(scanf("%I64d",&n)==1)
{
m=1; //分母
s=0; //分子
for(i=1;i<=n;i++)
m=lcm(m,i);
for(i=1;i<=n;i++)
s+=m/i;
s*=n;
g=gcd(m,s); //求最大公约数
s/=g;
m/=g;
d=s/m; //整数部分
s%=m;
if(s==0)
{
printf("%d\n",d);
continue;
}
l1=numlen(d);
l2=numlen(m);
for(i=0;i<=l1;i++)
putchar(' ');
printf("%I64d\n",s);
printf("%I64d ",d);
for(i=1;i<=l2;i++)
putchar('-');
putchar('\n');
for(i=0;i<=l1;i++)
putchar(' ');
printf("%I64d\n",m);
}
return 0;
}

hdu1099的更多相关文章

随机推荐

  1. 算法思考: poj 1969 Count on Canton

                                      A - Count on Canton Time Limit:1000MS     Memory Limit:30000KB     ...

  2. Linux中redis主从配置

    假设要在6380开启redis 1.添加配置文件:复制redis.conf为redis_6380.conf 2.修改配置文件:修改redis_6380.conf中port.pidfile 3.防火墙: ...

  3. node cluster模块的使用和测试

    首先安装async包 用到的有http.cluster包 http和cluster都会node自带的包,无需安装 1:创建cluster.js,代码如下,更具cpu创建多个进程 var cluster ...

  4. hdu-5584 LCM Walk(数论)

    题目链接:LCM Walk Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others)To ...

  5. objdump 命令的用法

    gcc命令之 objdump ---------------objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具---------- 以下3条命令足够那些喜欢探索目标文件与源代码之间的 ...

  6. BZOJ3812 清华集训2014 主旋律

    直接求出强联通生成子图的数量较难,不妨用所有生成子图的数量减去非强联通的. 非强联通生成子图在所点后满足编号最小的点所在的强联通分量不是全集. 由于$n$很小,我们可以考虑状态压缩. 对于点集$S$, ...

  7. bzoj1006神奇的国度

    OrzCDQ您太强辣 #include<iostream> #include<cstdio> #include<cstdlib> #include<algor ...

  8. C易位构词(华师网络赛)(错排)

    Time limit per test: 2.0 seconds Memory limit: 256 megabytes 易位构词 (anagram),指将一个单词中的字母重新排列,原单词中的每个字母 ...

  9. 第K大子集-LH

    题解:搜索+二分 对于每个数有选与不选两种情况.然后我们先搜前一半的状态,每个数选还是不选. 有2^17种,然后我将每种状态拍一个序先存着.然后我再搜后一半的状态,2^18种. 假设后一半某一种情况的 ...

  10. js的数据格式之json

    //json数据格式语法:1 数据在名称/值对中2 数据由逗号分隔3 花括号保存对象4 方括号保存数组 详情请查看:js的数据格式之json