首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
51nod1189 阶乘分数
】的更多相关文章
51nod1189 阶乘分数
(x-n!)(y-n!)=n!2 ans=t[n]+1.t表示的是n!2的小于n!的约数个数.n!2=p1a1*p2a2*p3a3...t[n]=(a1+1)*(a2+1)...-1 /2; 2对于n!的贡献为[n/2]+[n/4]+[n/8]...依次类推. #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> #include<cmath> using…
51nod-1189: 阶乘分数
[传送门:51nod-1189] 简要题意: 给出一个数n,求出有多少个正整数x,y(0<x<=y)满足$1/n!=1/x+1/y$ 题解: 一开始还以为不可做 结果推一下柿子就会了 $1/n!=1/x+1/y$可以转化为$xy=n!*(x+y)$ 又可以转化为$xy-n!*(x+y)=0$,得到$xy-n!*(x+y)+n!^2=n!^2$,得到$(x-n!)*(y-n!)=n!^2$ woc,水题 直接将n!质因数分解,然后每个质因数的指数*2(因为是n!的平方),求因数个数就行了 因为要…
2016/1/6 输出菱形 while语句计算阶乘分数之和
public class LingXing { public static void main(String[] args) { //打印菱形 for (int x=1;x<6;x++){ for(int p=x;p<5;p++){ System.out.print(" "); } for(int y=0;y<x;y++){ System.out.print("* "); } System.out.println(); } for (int m=5…
51 nod 1189 阶乘分数
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1189 题目思路: 1/n! = 1/x +1/y ==> n! * (x + y) = x * y(右边通分.然后转化) ==> n!^2 = (x - n!)*(y - n!)(左右两边加上n方) ==> a = b * c ,a = n!^2 ,b = x - n! ,c = y - n! #include <iostream> #in…
51nod 1189 算术基本定理/组合数学
www.51nod.com/onlineJudge/questionCode.html#!problemId=1189 1189 阶乘分数 题目来源: Spoj 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 1/N! = 1/X + 1/Y(0<x<=y),给出N,求满足条件的整数解的数量.例如:N = 2,1/2 = 1/3 + 1/6,1/2 = 1/4 + 1/4.由于数量可能很大,输出Mod 10^9 + 7. Input 输入一个…
Python学习笔记(1)对象类型
强制转换字符串函数str 如果我们求2的一百万次方是多少那么我们可以 print(2**1000000) 如果我们要求2的一百万次方有多少位那么我们可以用str函数强制转换成字符串然后len函数计算 代码 print(len(str(2**1000000))) math模块 几个比较强的 ①gcd 求两个数的gcd import math print(math.gcd(12,8)) 求12和8的最大公约数 ②degrees 弧度转换为角度 import math print(math.degre…
51nod挑的部分5级题
最近心情不好所以写代码来获得快落 4级题有点难做?然后就开始挑简单的5级题开始写 然后准备记录一些自己没有做出来 参考讨论区或者博客才做出来的题目 51nod_1189 阶乘分数 这个题参考了讨论区 令 t = n! 1/t = 1/x + 1/y , 0 < x <= y 的正整数解计数, n <= 1e6 考虑对式子进行变换 1/t = (x + y) / xy xy = t * (x + y) 我们这时候应该有一个反应,配方有 (x - t) * (y - t) = t * t 所…
java--带参方法 递归阶乘
package com.test.day01; // public class TestParam { public void f1(int n){ n =0; } public static void main(String[] args) { TestParam testParam = new TestParam(); int n = 9; testParam.f1(n); System.out.println(n); } } 思考:上面的代码运行结果输出的是0还是9 答案是9 因为…
[JZOJ3293] 【SHTSC2013】阶乘字符串
题目 题目大意 给你一个字符串,判断这个字符串是否为"阶乘字符串". 就是子序列包含字符集的全排列的字符串. n≤26n\leq 26n≤26 ∣S∣≤450|S|\leq 450∣S∣≤450 思考历程 首先,设toi,chto_{i,ch}toi,ch表示iii后面遇到的第一个chchch(字符)的位置. 这个东西很好预处理.搞出之后可以看成一张图. 那么我们就可以搞出最裸的暴力:枚举全排列,在图上跑,找一找是否有这样的路径. 显然,当前选的字母一定是越早越好,这样后面就能有更多…
探究"补阶乘大法的本质"——糖水不等式!
废话不多说先来康一条例题: 证明: 下面给出题目的一种解法(我称之为"补阶乘大法"): 思考:为什么补上一个阶乘(准确说不是阶乘,是两个数阶乘的之商)项,放缩后再给去掉,就能达到我们的目的呢? 要探究其中的奥秘,不妨看一看放缩的细节: 整个放缩就是k-1个这样的小放缩相乘而得,我们稍微变形一下,得到: 熟悉吧,这就是著名的糖水不等式. 我们试试将k个糖水不等式相乘,得到如下不等式: 累乘后,分子部分可以消去很多项,最后留下一个指数式和分式的不等关系.(细品这个不等式真的挺妙的..) 诶…