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

【数论】Choose and Divide, UVa10375 【组合数学】【唯一分解定理】【精度】

唯一分解定理

#include<bits/stdc++.h>
using namespace std;
int p,q,r,s,prime[10005],cnt,e[10005];bool vis[10005];
void getprime(int n){
	vis[0] = vis[1] = 1;
	for(int i=2;i<=n;i++){
		if(!vis[i])prime[++cnt]=i;
		for(int j=1;j<=cnt&&prime[j]<=n/i;j++){
			vis[i*prime[j]]=true;
			if(i%prime[j]==0)break;	
		}		
	}
}
void addint(int n,int d){
	for(int i=1;i<=cnt;i++){
		while(n%prime[i]==0){
			e[i]+=d;
			n/=prime[i];
		}
	}
}
void add(int n,int d){//@结果乘以(n!)d
	for(int i=1;i<=n;i++)addint(i,d);
}
int main(){
	ios::sync_with_stdio(false);getprime(10000);
	while(cin>>p>>q>>r>>s){
		memset(e,0,sizeof(e));add(p,1);add(s,1);add(r-s,1);add(q,-1);add(p-q,-1);add(r,-1);
		double ans = 1;for(int i=1;i<=cnt;i++)ans*=pow(prime[i],e[i]);
		cout<<setiosflags(ios::fixed)<<setprecision(5)<<ans<<endl;
	}
	return 0;
}


相关文章:

  • 【数论】Minimum Sum LCM, UVa10791【唯一分解定理】【素数筛法】
  • gdb调试
  • 异或运算
  • 快速枚举因子(约数)
  • 欧拉函数 线性筛法
  • 【条件概率】Headshot, ACM/ICPC NEERC 2009, UVa1636
  • 【数学专题】 卡特兰数
  • 【组合数学】Critical Mass, UVa580
  • 常用算法和数据结构的复杂度速查表
  • 【CodeChef】Just multiply
  • 【CodeChef】LCH15JGH Many bananas
  • 【CodeChef】 Queries on the String
  • 【BZOJ 1051】 受欢迎的牛 【Tarjan】
  • 【数学期望】Crossing Rivers, ACM/ICPC Wuhan 2009, UVa12230
  • 【数学期望】Candy, ACM/ICPC Chengdu 2012, UVa1639 【精度】
  • 10个最佳ES6特性 ES7与ES8的特性
  • CentOS 7 修改主机名
  • ECMAScript6(0):ES6简明参考手册
  • Js基础知识(一) - 变量
  • k个最大的数及变种小结
  • Objective-C 中关联引用的概念
  • PAT A1120
  • spring boot 整合mybatis 无法输出sql的问题
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Yii源码解读-服务定位器(Service Locator)
  • 从输入URL到页面加载发生了什么
  • 将回调地狱按在地上摩擦的Promise
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 使用agvtool更改app version/build
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 使用putty远程连接linux
  • 一文看透浏览器架构
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 阿里云ACE认证学习知识点梳理
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • ###C语言程序设计-----C语言学习(3)#
  • #QT(串口助手-界面)
  • $.ajax()参数及用法
  • (C语言)逆序输出字符串
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (分布式缓存)Redis哨兵
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (十) 初识 Docker file
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • *** 2003
  • ./和../以及/和~之间的区别
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .Net mvc总结
  • .net Stream篇(六)