这道题感觉非常的秀

因为结果会很大,所以就质因数分解分开来算

非常的巧妙!

#include<cstdio>
#include<vector>
#include<cstring>
#include<cmath>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std; const int MAXN = 11234;
bool is_prime[MAXN];
vector<int> prime;
int e[MAXN]; void init() //初始化质数
{
memset(is_prime, true, sizeof(is_prime));
is_prime[0] = is_prime[1] = false; REP(i, 2, MAXN)
{
if(is_prime[i]) prime.push_back(i);
REP(j, 0, prime.size())
{
if(i * prime[j] > MAXN) break;
is_prime[i * prime[j]] = false;
if(i % prime[j] == 0) break;
}
}
} void add_integer(int n, int d) //表示把n的d次方质因数分解,结果存到数组e里面
{ //例如d = 1表示乘以n,d = -1表示除以n
REP(i, 0, prime.size()) //需要预处理好素数
{
while(n % prime[i] == 0) //注意这里是while
{
n /= prime[i];
e[i] += d; //e[i]表示第i个素数的幂
}
if(n == 1) break; //节省时间
}
} void add(int n, int d) { REP(i, 2, n + 1) add_integer(i, d); } int main()
{
init();
int p, q, r, s; while(~scanf("%d%d%d%d", &p, &q, &r, &s))
{
memset(e, 0, sizeof(e));
add(p, 1); add(q, -1); add(p-q, -1);
add(r, -1); add(s, 1); add(r-s, 1); double ans = 1;
REP(i, 0, prime.size()) ans *= pow(prime[i], e[i]);
printf("%.5lf\n", ans);
} return 0;
}

最新文章

  1. 用 const 还是用 let?
  2. 复旦大学2015--2016学年第一学期高等代数I期末考试情况分析
  3. repcache实现memcached主从
  4. 特殊js事件
  5. jQuery easyUI datagrid 增加求和统计行 分类: JavaScript 2015-01-14 17:46 2178人阅读 评论(0) 收藏
  6. 【百度SEO优化】如何让蜘蛛爬行你的网站
  7. Kafka Quick Start
  8. Sass&amp;Compass学习笔记(一)
  9. PHP 关于 $GLOBALS[&#39;HTTP_RAW_POST_DATA&#39;]
  10. swift 关于 toolbar 学习笔记
  11. 山寨游戏的未来Apple App Store
  12. angular.js之作用域scope&#39;@&#39;,&#39;=&#39;,&#39;&amp;&#39;
  13. CATransition
  14. BELLMEN-FORD普通
  15. ArcGis 制图——地图图框整饰的插件式实现(一)C#
  16. js 获取浏览器大小,屏幕大小等。
  17. 【JMeter】基础元件
  18. mac nginx 安装教程
  19. TFS 切换登录用户的方法[转]
  20. JQuery.extend扩展实现同步post请求

热门文章

  1. APICloud 上滑加载更多
  2. python安装Redis数据库
  3. 关于npm警告fsevents和vue-cli项目中的一些问题,持续更新
  4. S5PV210 三个Camera Interface/CAMIF/FIMC的区别
  5. [宏]_IO, _IOR, _IOW, _IOWR 宏的用法与解析
  6. 使用展开操符作替代 .apply() (prefer-spread)
  7. HDU 4828
  8. Android.mk添加本地程序和库的经常使用模版
  9. iOS 系统地图实现及定位
  10. 朝花夕拾——finally/final/finalize拨云雾见青天