hdu1099
#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的更多相关文章
随机推荐
- Linux Glibc库严重安全漏洞修复方案通知(腾讯开发者社区)
如何查看当前glibc的版本号? rpm -aq | grep glibc 尊敬的用户: 您好!2015年1月28日, 腾讯云安全情报监测到LinuxGlibc库存在一处严重安全漏洞,可以 ...
- TCP/IP 协议中的编址
TCP/IP协议的互联网需要用到四个级别的地址:物理地址.逻辑地址.端口地址和特定应用地址 一.物理地址 物理地址称为链路地址,是由接点所在的局域网或广域网为该结点指定的地址. 这种地址的长度和格式随 ...
- Java 学习摘要
//导入 import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; Date dt= ...
- 分享知识-快乐自己:Mybatis 基础动态语句
目录: User: package mlq.bean; /** * 用户实体类 */ public class User { private Integer uId; private String u ...
- POJ 2240 Arbitrage(Floyed-Warshall算法)
题意:给出n种货币,m种兑换比率(一种货币兑换为另一种货币的比率),判断测试用例中套汇是否可行.(套汇的意思就是在经过一系列的货币兑换之后,是否可以获利.例如:货币i→货币j→货币i,这样兑换后,是否 ...
- PostgreSQL聚合函数的filter子句
一张表存储了学生id,科目,分数三个字段,求每个学生60分以下与参加的总科目占比.(今天电脑不好用,图片总是这样) 其实一个count(*) filter 就可以查出来,但是没用过PG的一个人竟然说 ...
- Java中日期和时间的相关问题
1.java.lang.System类 System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位 ...
- Java进阶06 容器
Java中有一些对象被称为容器(container).容器中可以包含多个对象,每个对象称为容器中的一个元素.容器是用对象封装的数据结构(data structure). 充满梦想的容器 不同的数据结构 ...
- Linux上用nginx搭建RTMP服务器
参考文章:https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.5 ...
- Agc003_E Sequential operations on Sequence
传送门 题目大意 $1,2...n,n$个数从小到大排列,有$m$此操作,每次操作给定一个参数$x$,将当且数列作为循环节无限地展开下去,再取前$x$个作为新的数列,求最终的数列每个数出现的次数. $ ...