51nod 1165 整边直角三角形的数量】的更多相关文章

1165 整边直角三角形的数量 直角三角形,三条边的长度都是整数.给出周长N,求符合条件的三角形数量. 例如:N = 120,共有3种不同的满足条件的直角3角行.分别是:{20,48,52}, {24,45,51}, {30,40,50}.   Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 50000) 第2 - T + 1行:每行1个数N(12 <= N <= 10^7). Output 输出共T行,每行1个对应的数量. Input示例 2…
链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1165 直角三角形,三条边的长度都是整数.给出周长N,求符合条件的三角形数量. 例如:N = 120,共有3种不同的满足条件的直角3角行.分别是:{20,48,52}, {24,45,51}, {30,40,50}. 输入: 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 50000) 第2 - T + 1行:每行1个数N(12 <= N <…
1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0.   Input 一个数N(1 <= N <= 10^9) Output 输出0的数量 Input示例 5 Output示例 1题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1003编程之…
链接:http://poj.org/problem?id=1401 题意:计算N!的末尾0的个数 思路:算数基本定理 有0,分解为2*5,寻找2*5的对数,2的因子个数大于5,转化为寻找因子5的个数.又有算数基本定理: n!在素数因子分解中p的幂为[n/p]+[n/p2]+[n/p3]+... 同时最大次数不会超过logpn.通过换底公式,有ln(n)/ln(p) 代码:(51Nod去掉t循环即可) #include <iostream> #include <math.h> usi…
题意:n的阶乘后面0的个数,如果直接算出阶乘再数0的数量一定会超时的. 因为10=2*5,所以求出5贡献的次数就行. #include "bits/stdc++.h" using namespace std; #define LL long long #define INF 0x3f3f3f3f3f #define PI acos(-1) #define N 510 LL arr[N]; int main() { int n,k; while(~scanf("%d"…
为什么网上没有篇详细的题解[雾 可能各位聚聚觉得这道题太简单了吧 /kk 题意 首先题目是求满足条件的序列个数,条件为:出现次数最多的数仅有一个 分析 感谢 刚睡醒的 JZ姐姐在咱写题解忽然陷入自闭的时候为咱知道迷津 QwQ 那么套路来说第一想到的其实就是容斥辣 然后懒得想去网上黈力[雾 在然后,发现网上要么没推导公式(虽说是直接列不用化简的)要么就是推导公式是错的... 于是坐下来冷静分析:首先,我们考虑最高的出现次数为 x 的情况下,有多少个序列是满足条件的 容斥一发发现式子长这个样子(用到…
目录 @description@ @solution@ @part - 1@ @part - 2@ @part - 3@ @accepted code@ @details@ @description@ 用 N 个不同的字符(编号1 - N),组成一个字符串,有如下要求: (1) 对于编号为 i 的字符,如果2 * i > n,则该字符可以作为结尾字符.如果不作为结尾字符而是中间的字符,则该字符后面可以接任意字符. (2) 对于编号为 i 的字符,如果2 * i <= n,则该字符不可以作为结尾…
1009 数字1的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数. 例如:n = 12,包含了5个1.1,10,12共包含3个1,11包含2个1,总共5个1. Input 输入N(1 <= N <= 10^9) Output 输出包含1的个数 Input示例 12 Output示例 5 没怎么学过数位dp,打算好好搞一下~ dp[x]代表1~10^x-1 中…
每一个 2 与一个 5 相乘,结果就增加一个零. 所以求 n! 后面的连续零的个数,其实就是求其中相乘的数含有因子每对因子 2 与 5  的个数. 又因为从1到某个数,所含 2 的个数比 5 多,所以问题就可以进一步简化到求含有因子5的个数. 然后自己没写出来,没骨气的又看了别人的代码..GG啊 #include <bits/stdc++.h> using namespace std; typedef long long ll; int main () { int n; scanf("…
题解 容斥题 我们枚举出现次数最多的数出现了K次 然后我们需要计算的序列是所有数字出现个数都不超过K - 1次 我们枚举不合法的数字的数目j,说明这个排列里除了我们固定出现K次的数至少有j个数是不合法的,先让这j个数每个数出现k次,然后再随意排列 j最大是N / K 那么复杂度就是调和级数了 代码 #include <bits/stdc++.h> //#define ivorysi #define enter putchar('\n') #define space putchar(' ') #…