POJ 1707 Sum of powers(伯努利数)
题目链接:http://poj.org/problem?id=1707
题意:给出n

在M为正整数且尽量小的前提下,使得n的系数均为整数。
思路:

i64 Gcd(i64 x,i64 y)
{
if(y==0) return x;
return Gcd(y,x%y);
}
i64 Lcm(i64 x,i64 y)
{
x=x/Gcd(x,y)*y;
if(x<0) x=-x;
return x;
}
struct fraction
{
i64 a,b;
fraction() {}
fraction(i64 x)
{
a=x; b=1;
}
fraction(i64 x,i64 y)
{
a=x; b=y;
deal();
}
void deal()
{
if(b<0) b=-b,a=-a;
i64 k=Gcd(a,b);
if(k<0) k=-k;
a/=k; b/=k;
}
fraction operator+(fraction p)
{
fraction ans;
ans.b=Lcm(b,p.b);
ans.a=ans.b/b*a+ans.b/p.b*p.a;
ans.deal();
return ans;
}
fraction operator-(fraction p)
{
fraction ans;
ans.b=Lcm(b,p.b);
ans.a=ans.b/b*a-ans.b/p.b*p.a;
ans.deal();
return ans;
}
fraction operator*(fraction p)
{
fraction ans;
ans.a=a*p.a;
ans.b=b*p.b;
ans.deal();
return ans;
}
fraction operator/(fraction p)
{
fraction ans;
ans.a=a*p.b;
ans.b=b*p.a;
ans.deal();
return ans;
}
void print()
{
printf("%lld/%lld\n",a,b);
}
};
fraction B[20];
i64 C[N][N];
void init()
{
int i,j;
for(i=1;i<N;i++)
{
C[i][0]=C[i][i]=1;
for(j=1;j<i;j++) C[i][j]=C[i-1][j-1]+C[i-1][j];
}
B[0]=fraction(1);
for(i=1;i<=20;i++)
{
B[i]=fraction(0);
for(j=0;j<i;j++) B[i]=B[i]-fraction(C[i+1][j])*B[j];
B[i]=B[i]/fraction(C[i+1][i]);
}
}
int n;
fraction a[N];
int main()
{
init();
Rush(n)
{
i64 i,L=1;
for(i=0;i<=n;i++)
{
a[i]=fraction(C[n+1][i])*B[i]*fraction(1,n+1);
L=Lcm(L,a[i].b);
}
printf("%lld ",L);
a[1]=a[1]+fraction(1);
for(i=0;i<=n;i++) printf("%lld ",L/a[i].b*a[i].a);
puts("0");
}
}
POJ 1707 Sum of powers(伯努利数)的更多相关文章
- [伯努利数] poj 1707 Sum of powers
题目链接: http://poj.org/problem?id=1707 Language: Default Sum of powers Time Limit: 1000MS Memory Lim ...
- UVa 766 Sum of powers (伯努利数)
题意: 求 ,要求M尽量小. 析:这其实就是一个伯努利数,伯努利数公式如下: 伯努利数满足条件B0 = 1,并且 也有 几乎就是本题,然后只要把 n 换成 n-1,然后后面就一样了,然后最后再加上一个 ...
- ACM:POJ 2739 Sum of Consecutive Prime Numbers-素数打表-尺取法
POJ 2739 Sum of Consecutive Prime Numbers Time Limit:1000MS Memory Limit:65536KB 64bit IO Fo ...
- [CSAcademy]Sum of Powers
[CSAcademy]Sum of Powers 题目大意: 给定\(n,m,k(n,m,k\le4096)\).一个无序可重集\(A\)为合法的,当且仅当\(|A|=m\)且\(\sum A_i=n ...
- POJ.2739 Sum of Consecutive Prime Numbers(水)
POJ.2739 Sum of Consecutive Prime Numbers(水) 代码总览 #include <cstdio> #include <cstring> # ...
- POJ 2739 Sum of Consecutive Prime Numbers(素数)
POJ 2739 Sum of Consecutive Prime Numbers(素数) http://poj.org/problem? id=2739 题意: 给你一个10000以内的自然数X.然 ...
- Euler's Sum of Powers Conjecture
转帖:Euler's Sum of Powers Conjecture 存不存在四个大于1的整数的五次幂恰好是另一个整数的五次幂? 暴搜:O(n^4) 用dictionary:O(n^3) impor ...
- 【POJ1707】【伯努利数】Sum of powers
Description A young schoolboy would like to calculate the sum for some fixed natural k and different ...
- UVA766 Sum of powers(1到n的自然数幂和 伯努利数)
自然数幂和: (1) 伯努利数的递推式: B0 = 1 (要满足(1)式,求出Bn后将B1改为1 /2) 参考:https://en.wikipedia.org/wiki/Bernoulli_numb ...
随机推荐
- iOS的动画效果类型及实现方法
实现iOS漂亮的动画效果主要有两种方法, 一种是UIView层面的, 一种是使用CATransition进行更低层次的控制, 第一种是UIView,UIView方式可能在低层也是使用CATransit ...
- 关于WP8 微信分享的补充说明
1.根据微信官方Demo完成相应功能. 2.在分享完后,从微信回来,需要进行 快速恢复. 3.在快速恢复中加入 RootFrame.Navigating += HandlerFotResetNavig ...
- swift 类 与 结构体
这两天突然有人问我 swift里面 类和 结构体 有什么区别? 说实在的本人目前不太看好swift,相信很多人也是,oc 都 很成熟了. 本人目前不打算深入了解swift的原因swift 语言 ...
- python logging TimedRotatingFileHandler 作用
max backup count这样的参数,即打印的日志文件数量超过这个阈值,发生rotate,从最老的文件开始清理 未亲测.
- 剑指offer--面试题12
题目:打印从1~最大的n位数 分析:知道陷阱在哪,即n很大时若用通常的int,long会溢出:想到用字符串解决,这涉及到字符转数字及反过来. 刚开始纠结于字符串怎么加1,想了片刻,觉得应该取出最后一位 ...
- 剑指offer--面试题10--相关
题目一:判断一个整数是不是2的n次幂 实现大概如下: int main() { ; )) == ) //重要!! std::cout<<"YES!"<<st ...
- oracle 条件:1=1或1=0,动态添加条件
看到where语句中有条件:where 1=1 和 1=2或1<>1 用途: 1=1:是为了添加条件时使用and并列其他条件时使用的(动态连接后续条件) 比如: ...
- UI框架说明
JQueryEasyUI jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编 ...
- CString 转换成 char *
最近用到CString类,转换成 char * 类型,下面介绍用法: 一.CString 和 LPSTR 转换: CString转换成LPSTR: 方法一:CString server; LPSTR ...
- Unity3D WP8发布解决方案名 DefaultPackageName 修改问题
原地址:http://blog.csdn.net/w337198302/article/details/16960661 在对Unity3D游戏进行Windows phone 8 发布的时候,首先是需 ...