数论专题(持续更新.avi)
2016-10-20 15:54
190 查看
Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 53067 Accepted Submission(s): 21990 Problem Description 求n个数的最小公倍数。 Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。 Output 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。 Sample Input 2 4 6 3 2 5 7 Sample Output 12 70
比较基础的,就一直求两个数的lcm,然后把第三个数与前两个数的lcm 继续求lcm,...就这样。
#include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cctype> #include<cmath> #include<ctime> #include<string> #include<stack> #include<deque> #include<queue> #include<list> #include<set> #include<map> #include<cstdio> #include<limits.h> #define MOD 1000000007 #define fir first #define sec second #define fin freopen("/home/ostreambaba/文档/input.txt", "r", stdin) #define fout freopen("/home/ostreambaba/文档/output.txt", "w", stdout) #define mes(x, m) memset(x, m, sizeof(x)) #define Pii pair<int, int> #define Pll pair<ll, ll> #define INF 1e9+7 #define Pi 4.0*atan(1.0) #define lowbit(x) (x&(-x)) #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 typedef long long ll; typedef unsigned long long ull; const double eps = 1e-12; const int maxn = 35; using namespace std; inline int read(){ int x(0),f(1); char ch=getchar(); while (ch<'0'||ch>'9') {if (ch=='-') f=-1;ch=getchar();} while (ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar(); return x*f; } inline int gcd(int a,int b) { return b?gcd(b,a%b):a; } int main() { int n; int t,f; while(~scanf("%d",&n)){ f=read(); int res=f; for(int i=0;i<n-1;++i){ t=read(); res=res/gcd(res,t)*t; } cout<<res<<endl; } return 0; }
fibonacci数列的性质: 1.gcd(fib(n),fib(m))=fib(gcd(n,m)) 证明:可以通过反证法先证fibonacci数列的任意相邻两项一定互素,然后可证n>m时gcd(fib(n),fib(m))=gcd(fib(n-m),fib(m)),递归可 求gcd(fib(n),fib(m))=gcd(fib(k),fib(l)),最后k=l,不然继续递归。K是通过展转相减法求出,易证k=gcd(n,m),所以gcd(fib(n),fib(m)) =fib(gcd(n,m))。 2.如果fib(k)能被x整除,则fib(k*i)都可以被x整除。 3.f(0)+f(1)+f(2)+…+f(n)=f(n+2)-1 4.f(1)+f(3)+f(5)+…+f(2n-1)=f(2n) 5.f(2)+f(4)+f(6)+…+f(2n) =f(2n+1)-1 6.[f(0)]^2+[f(1)]^2+…+[f(n)]^2=f(n)·f(n+1) 7.f(0)-f(1)+f(2)-…+(-1)^n·f(n)=(-1)^n·[f(n+1)-f(n)]+1 8.f(m+n)=f(m-1)·f(n-1)+f(m)·f(n) 9.[f(n)]^2=(-1)^(n-1)+f(n-1)·f(n+1) 10.f(2n-1)=[f(n)]^2-[f(n-2)]^2 11.3f(n)=f(n+2)+f(n-2) 12.f(2n-2m-2)[f(2n)+f(2n+2)]=f(2m+2)+f(4n-2m) [ n〉m≥-1,且n≥1]c 3.菲波那契前n项和就是菲波那契第n+2项-1
相关文章推荐
- 数论板子(持续更新
- 线段树[专题总结][持续更新...]
- 数论总结(持续更新)
- 数论知识集锦(持续更新中)
- acm数论基础知识(持续更新)
- 数论板子(持续更新
- 数论板子(持续更新
- 在 Visual Studio 2013 中创建 ASP.NET Web 项目(0):专题导航 [持续更新中]
- 【专题总结】容斥原理(持续更新)
- 数论板子(持续更新
- 系统架构推荐专题文章及书籍-会持续更新
- Leetcode.Bit Manipulation.位运算专题.(持续更新)
- 【专题总结】概率与期望(持续更新)
- 数论板子(持续更新
- 线段树专题(持续更新)
- 数论板子(持续更新
- 动态规划专题(持续更新中)
- 数论板子(持续更新
- 数论板子(持续更新
- 【2017秋季校园招聘笔经面经专题汇总】持续更新中