当前位置: 首页 > news >正文

数学知识小记

2017/05/19 12:12:53.

真de弱智,今天连等差数列求和公式都忘了...

1.等差数列.

通项公式:a(n) = a(1) + (n-1)*d;

前n项和: S(n) = n*a(1) + n*(n-1)/2*d;

变形:S(n) = (a(1) + a(n))*n/2;

2.等比数列.

通项公式:a(n) = a(1)*q^(n-1);

前n项和:S(n) = a(1)*(1 - q^n)/(1-q);

变形:S(n) = (a(1) - a(n)*q)/(1-q);


2017/06/28 00:46:41

regular convex polygon with n sides.(具有n条边的规则凸多边形)

求内角度和为:(n-2)*180


所以求规则凸多边形的单个内角度为:(n-2)*180/n


2017/07/06 17:46:52

因数:不包括零的任意数(正数和负数)。

正因数:不包括零的任意正数。


2017/07/29 23:45:47

鸽巢原理:

n+1个物体放入n个盒子,那么至少有一个盒子包含两个或更多的物体。

应用:

n个数中,必然存在j,k(j<=k)满足Aj,Aj+1...Ak-1,Ak的和是n的倍数。

分析:进行求(A1),(A1+a2),(A1+A2+A3),...,(A1+A2...An)。

① 如果存在一个%n = 0的,则直接证明得存在。

② %n都不等于0,而%n不为0的个数为n-1个,则根据鸽巢原理能够得到肯定存在两个或更多模数相同的数,所以找到这两个模数相同的位置便是j,k。


2017/07/31 15:06:21

求一个数的所有质因子

#include <stdio.h>
int num[1005], cnt;
void ZhiYinZi(int n)
{
	cnt = 0;
	for(int i = 2 ; i*i <= n; ++i)
	{ 
		if(n%i == 0)
		{
			num[++cnt] = i;
			while(n%i == 0) n /= i;
		}
	}
	if(n > 1) num[++cnt] = n;
}
int main()
{
	int n; scanf("%d", &n);
	ZhiYinZi(n);
	for(int i = 1; i <= cnt; ++i)
		printf("%d ", num[i]);
	puts("");
	return 0;
}


O(1)求从1到N的异或:

LL xor_n(LL n)  
{
    LL t = n & 3;  
    if(t & 1) return t/2ll^1; 
    return t/2ll^n;
}


判断组合数的奇偶性:

int isodd(int n, int m)
{
	while(m)
	{
		if((m&1) && !(n&1)) return 0;
		m >>= 1, n >>= 1;
	}
	return 1;
}
//OR
int isodd(int n, int m)
{
	return (n&m) == m;
}


给定两个数m,n,求m!分解质因数后因子n的个数。如果相乘直接求的话会超出数据类型的范围。下面给出一种效率比较高的算法,我们一步一步来。
m! = 1*2*3*……*(m-2)*(m-1)*m
可以表示成所有和n的倍数有关的乘积再乘以其他和n的倍数没有关系的
   = (n*2n*3n*......*kn)*other
other是不含n因子的数的乘积,因为 kn<=m 而k肯定是最大值,所以 k = m/n
   = n^k*(1*2*......*k)*other  
   = n^k*k!*other     
从这个表达式中可以提取出k个n,然后按照相同的方法循环下去可以求出k!中因子n的个数。
每次求出n的个数的和就是m!中因子n的总个数。

ll work(int m, int b)
{
    ll ans = 0;
    while(m)
    {
        m /= b;
        ans += m;
    }
    return ans;
}



静待更新...

相关文章:

  • [SQL]mysql密码读取
  • CodeForces 616E(数学规律)
  • MongoDB aggregate 运用篇(转)
  • 二分图的概念汇总
  • HDU 1429(状压+bfs)
  • 树莓派系统安装初级教程
  • POJ 2528(线段树+离散化)
  • hadoop问题与解决办法
  • HDU 4725(最短路之建图难点)
  • QDU首届易途杯大赛-kk与cillyb的荣誉之战
  • Visual Studio 有哪些好用的插件?
  • QDU首届易途杯大赛-ycb老师与一道简单的物理题
  • SqlTest(2013-07-10)
  • 蓝桥杯-K倍区间(前缀和) 分巧克力(二分)
  • Linux下MySQL5.6源码安装
  • 【css3】浏览器内核及其兼容性
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Go 语言编译器的 //go: 详解
  • iOS 颜色设置看我就够了
  • linux学习笔记
  • Lucene解析 - 基本概念
  • yii2中session跨域名的问题
  • 初识 beanstalkd
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 聚类分析——Kmeans
  • 跨域
  • 前端工程化(Gulp、Webpack)-webpack
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 设计模式走一遍---观察者模式
  • 用 Swift 编写面向协议的视图
  • Hibernate主键生成策略及选择
  • scrapy中间件源码分析及常用中间件大全
  • ​第20课 在Android Native开发中加入新的C++类
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (4) PIVOT 和 UPIVOT 的使用
  • (4.10~4.16)
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (一)WLAN定义和基本架构转
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .bat文件调用java类的main方法
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .Net Core和.Net Standard直观理解
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET是什么
  • [20140403]查询是否产生日志
  • [ActionScript][AS3]小小笔记
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [git]git命令如何取消先前的配置
  • [iOS]iOS获取设备信息经常用法
  • [JS入门到进阶] 前端开发不能写undefined?这是误区!
  • [LeetCode] Contains Duplicate