算法基础
分享博主在算法学习中的笔记、心得
湖水微澜
Nobody is nobody
展开
-
基础算法001-----欧几里得算法(求最大公约数 / 求最小公倍数)
1.欧几里得算法简介欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式为:gcd(a,b) = gcd(b,a mod b)。2.算法思路1) 令r为a/b所得余数(0≤r<b),若 r= 0,算法结束;b 即为答案。2) 若r不等于0,则进行互换:置 a←b,b←r,并返回第一步。3.算法流程图求最大公约数扩展:求...原创 2019-07-31 17:47:35 · 4813 阅读 · 1 评论 -
基础算法002-----百钱百鸡问题(扩展问题)
百鸡问题扩展: N 鸡问题N元钱买N只鸡,公鸡每只5元,母鸡每只3元,小鸡1元3 只,N元钱必须刚好买N只鸡,而且鸡必须整只买,不能劈开买。请问有几种买法?要求:输入格式:在一行中输入一个正整数N,(N<500)输出格式:在一行中输出两个整数c s,中间用一个空格隔开,表示N元钱买N只鸡有种共有种买法,且所有买法的公鸡数量之和为s。如果无解,则s为-1输入样例1:100...原创 2019-09-20 10:01:32 · 2133 阅读 · 0 评论 -
基础算法003-----数字统计问题
统计数字问题:一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。数字计数问题要求对给定书的总页码n, 计算出书的全部页码中分别用到多少次数字0,1 ,2,...,9。要求:输入格式:输入只有1行,给出表示书的总页码整数n。输出格式:输出共有10行, 在第k行输出页码中用到的数字k-1的次数,k= 1, 2, ... ,10...原创 2019-09-20 10:18:41 · 370 阅读 · 0 评论