ICode9

精准搜索请尝试: 精确搜索
  • Eulid算法(求最大公因数)及其python实现2021-01-15 13:00:51

    就当为CSDN这方面的python开源做点贡献哈哈哈 Eulid算法(求最大公因数) 算法原理 python代码 #Eulid算法(求最大公因数) def Eulid(a:int,b:int): if a%b==0:#边界条件 return a%b else: return Eulid(b,a%b)#递归 实现过程

  • 2021-01-102021-01-10 12:31:38

    python 3求最大公约数 gcd,辗转相除法 ## - **- 一个数字和0 的最大公约数是这个数字本身 - 0和0的最大公约数是0** ```python if __name__ == '__main__': a ,b =map(int,input().split()) if a!=0 and b!=0: if a < b: a,b = b,a

  • 快速幂2020-12-29 21:32:54

      在c++运算时,我们会遇到a的b次方,b的数可能会很大,比如10000000;如果单纯用for循环做,时间复杂度为o(b)绝对会超了,于是我们要用到快速幂。     我们举一个简单的例子,2的8次方。   如果一个一个乘,时间复杂度为8,2*2*2*2*2*2*2*2.。但我们可以运用数学知识,2*2*2*2*2*2*2*2=4*4*4*4

  • 基础数论--扩展欧几里得算法2020-12-09 11:03:02

    正常的欧几里得算法 1 int gcd(int a,int b){ 2 return b==0?a:gcd(b,a%b); 3 } 可以在O(n)的时间复杂度内,求出a和b两数的最大公约数。 而扩展欧几里得算法则可以在求出最大公约数的同时,求出两个数x,y,使得x*a+y*b=gcd(a,b),用处就是可以用来求解线性同余方程(写在下边) 1 //推

  • 辗转相除法求最大公约数2020-11-09 15:02:38

    在a>b的情况下,t=a%b,如果t不等于0, 那么a=b,b=t,t=a%b; 直到t=0,此时b就是最大公约数。 int get_GCD(int a,int b){ int tem; if(a==0||b==0){ return 0; } if(a<b){//exchange a,b tem=a; a=b; b=tem; } tem=a%b; while(tem>0){ a=b; b=tem; tem=a%b; }

  • 1034 有理数四则运算 (20分)2020-10-31 20:34:21

    1034 有理数四则运算 (20分)   本题要求编写程序,计算 2 个有理数的和、差、积、商。 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。 输出格式: 分别在 4 行中按照 有理数1

  • 10147. 「一本通 5.1 例 1」石子合并2020-09-29 19:00:58

       区间合并石子 每次合并相邻的两堆,求最大和最小能获得的值 cao。。一开始直接排序然后贪心,想了半天不知道哪里错了,原来是我眼瞎了抱歉 然后区间DP一下  不会写循环  DP只会写搜索 嘻嘻 #include<bits/stdc++.h> #define fi first #define se second #define io std::ios::

  • C++ —— 输入年份判断是否为闰年2020-09-09 09:01:18

        代码如下: 1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int a; 6 cin>>a; 7 if((a%4==0 &&a%100!=0)||a%400==0) 8 cout<<a<<" is a leap year"; 9 else cout<<a<&l

  • leetcode做题总结2020-09-06 11:31:32

    Dangling meta character '?' near index 0 报错修改,将 "?" 改成 "[?]"   10^9 + 7取余 (a% (1e9+7)) * (b% (1e9 +7)) %(1e9 +7) // a * b  

  • c2020-08-15 22:02:33

    要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。 Input数据的第一行是一个T,表示有T组数据。每组数据有两个数n(0 <= n < 9973)和B(1 <= B <= 10^9)。Output对应每组数据输出(A/B)%9973。Sample Input 2 1000 53 87 123456789 Sample

  • 数论(待改)2020-08-13 22:02:30

    a+tm=b+tn(mod l)a-b=t(n-m)(mod l)a+tm=b+tn+kl(a-b)=t(m-n)+kl   ax+by=gcd(a,b)               ax1+by1=gcd(a,b)(b)x2+(a%b)y2=gcd(b,a%b)ax1+by1=bx2+(a-a/b)y2ax1=(a-a/b)y2by1=bx2所以y1=x2ax1=(a-a/b)y2  手推

  • 乘法逆元模板2020-08-06 19:00:39

    #include<bits/stdc++.h> using namespace std; const int maxn=200; typedef long long ll; const ll mod=998244353; ll pow_m (ll a,ll b,ll mod) { ll res=1; for (;b;b>>=1,a=a*a%mod) if (b&1) res=res*a%mod; return res; } ll in

  • AcWing 89. a^b2020-07-27 13:04:25

    AcWing 89. a^b #include <bits/stdc++.h> using namespace std; typedef long long int lll; int power(lll a,lll b,lll p){ lll ans = 1%p; for(;b;b >>= 1){ if(b&1) ans=ans*a%p; a=a*a%p; } return ans; } int main()

  • 【知识点】BSGS2020-07-03 15:37:02

    Big-Step-Giant-Step: 用于解形如$a^{x}\equiv b(mod\ p)$式的方程。 考虑分块,令$n=\sqrt{p},x=rn-s$,则有 $a^{rn-s}\equiv b(mod\ p)$ $a^{rn}\equiv ba^{s}(mod\ p)$ 分别在$[1,n]$的范围内枚举$r,s$并用$map$记录模数即可。 复杂度$O(\sqrt{p})$。   代码([TJOI2007]可爱的质数):

  • js回顾,用for循环语句,编写实例2020-05-10 20:02:10

    // 100元购物卡,牙刷5元,香皂两元,洗发水15元,100元正好花完有多少种可能// var j = 0;// for(var x=0;x<=20;x++){// for(var y=0;y<=50;y++){// for(var z=0;z<=6;z++){// if(5*x+2*y+15*6==100){// j++// }// }// }// }// console.log(j); // 100以内十位数有7,个位

  • 欧几里得算法及其扩展2020-04-28 16:58:29

    一、欧几里得算法 传统的求最大公约数的方法直接枚举,对于较大的数时间复杂度较高,不符合要求。欧几里得算法,又称辗转相除法,是求最大公约数的算法,可以有效提高算法效率。 辗转相除法基于原理:两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数。例如,252和105的最大公

  • 蓝桥杯练习(基础一)闰年判断2020-04-26 23:07:02

    试题 基础练习 闰年判断     资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 给定一个年份,判断这一年是不是闰年。 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数; 2. 年份是400的倍数。 其他的年份都不是闰年。 输入格式 输入包含一个整数y,表示

  • 1102判断能否被3,5,7整除2020-04-25 15:08:20

    描述 给定一个整数,判断它能否被3,5,7整除,并输出以下信息: 1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者3 7或者5 7,中间用空格分隔);3、只能被其中一个数整除(输出这个除数);4、不能被任何数整除,输出小写字符‘n’,不

  • 于神之怒加强版 HYSBZ - 44072020-04-22 11:09:17

    给下N,M,K.求       Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示。   Output 如题   Sample Input1 2 3 3 Sample Output20 Hint   1<=N,M,K<=5000000,1<=T<=2000     设f(

  • CF55D Beautiful(数位dp)2020-04-12 23:03:17

      暂时还没有完全领悟这道题的递推写法,先放代码 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<map> #include<string> #include<vector> using namespace std; typedef long long ll; const int N=2e5+5; co

  • 题解 CF1191A 【Tokitsukaze and Enhancement】2020-04-02 09:07:04

    感觉各位都是直接得结论,, 那么说一下我的思路。 考虑用四个变量 A,B,C,D,分别记录初始的 HP 然后直接if判断 即可 一些细节: 因为我们希望使等级最高,所以当然考虑从可能是 A 等级的情况判断 如果不能一步登天,那么把对应的 A 变量加一,然后判断 然后以此类推 即可 下面代码里的那些*+=1也

  • PTA-----求一批整数中出现最多的个位数字2020-03-27 12:56:26

    #include <stdio.h> int main() { int n,i; int arr[10]={0}; int max = 0; scanf("%d", &n); for (i=0; i<n; i++) { int a; scanf("%d ", &a); if(a == 0)

  • O(1)快速乘,慢速乘,快速幂2020-03-23 11:58:36

    快速乘 引自2009国家集训队论文:骆可强:《论程序底层优化的一些方法与技巧》    代码://挺迷的,不知道为什么,好用就是了 ll fast_mult(ll a,ll b,ll mod) { return (a*b-(ll)((long double)a/mod*b)*mod+mod)%mod; }//ll为long long 快速幂 ll fpow(ll a,ll b,ll c) { a

  • RSA解密2020-03-07 14:02:05

    RSA解密 参考博客: https://www.cnblogs.com/pcheng/p/9629621.html https://blog.csdn.net/qq_40531479/article/details/89034977 https://blog.csdn.net/qq_42876636/article/details/87559366 RSA加密原理简介 RSA加密是一种非对称加密,能够在不直接传递密钥的前提下,完整

  • numpy的函数2020-03-04 21:52:59

    目录 np.where() np.where() numpy中能够返回符合某一条件的下标函数:np.where(), —— np.where()[0] 表示行的索引; —— np.where()[1] 则表示列的索引; np.where()用于三目运算: 例如:如果A%2==0成立,则执行A+1,否则执行A-1 >>> A >>> array([1, 7, 4, 9, 2, 3, 6, 0, 8, 5])

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有