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 ...
随机推荐
- [原]项目进阶 之 持续构建环境搭建(四)Jenkins环境搭建
在之前的几篇文章中,我给大家分别介绍了这次的持续化构建环境搭建的相关前提内容.如果说前面的文章都是小菜的话,那么今天的这篇文章就是我们这个系列文章的主菜. 1.前提 安装jenkins需要安装JDK. ...
- cocos2.2.3中创建精灵对象的三大类方法
1.众生相,皆精灵 2.精灵的类继承关系 class CCSprite : public CCNode, public CCNodeRGBA, public CCTextureProtocol 3.创 ...
- firefox常用扩展、脚本
1.AutoPopup.uc.js:鼠标移到菜单和下拉箭头上自动弹出下拉菜单 2.moveButton.uc.js:移动或克隆按钮或菜单到火狐浏览器的任意位置 moveButton.uc.js使用说明 ...
- Spring中HibernateCallback的用法(转)
Hibernate的复杂用法HibernateCallback HibernateTemplate还提供一种更加灵活的方式来操作数据库,通过这种方式可以完全使用Hibernate的操作方式.Hiber ...
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
// test14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...
- uva 10158
并查集 #include <cstdio> #include <cstdlib> #include <cmath> #include <map> #in ...
- win8 ubuntu
点进去看到几点注意: 1. 如果Windows是UEFI方式安装的,那Ubuntu必须也用UEFI方式安装 2. 必须用64位的Ubuntu安装文件,32位的不能探测EFI 3. 必须用UEFI的方式 ...
- 设置Eclipse智能提示
原地址:http://blog.csdn.net/sz_bdqn/article/details/4956162 今天有点时间,研究了一下MyEclispse的智能感知的功能.刚开始使用它时总是感觉如 ...
- 趣味Python入门(一):初识Python
[编者按]本文作者是 Abhishek Jaiswal ,擅长 .NET.C#.Python 等多种语言的技术控.本文中,作者通过活泼有趣的口吻向大家介绍了 Python 语言的基础知识,后期多学习历 ...
- hdu 2604 Queuing(动态规划—>矩阵快速幂,更通用的模版)
题目 最早不会写,看了网上的分析,然后终于想明白了矩阵是怎么出来的了,哈哈哈哈. 因为边上的项目排列顺序不一样,所以写出来的矩阵形式也可能不一样,但是都是可以的 //愚钝的我不会写这题,然后百度了,照 ...