求两个正整数的最大公因数和最小公倍数 两个正整数最大公因数和最小公倍数的关系 更相减损术 原理: 代码实现: 辗转相除法 原理: 代码实现: 穷举法 原理: 代码实现: Stein算法 原理: 两数都为偶数 两数一奇一偶…
分类:算法
瓶盖递归 1块钱买一瓶水,三个瓶盖是换一瓶汽水,问20块钱能买 多少瓶汽水(不能借)
瓶盖递归 1块钱买一瓶水,三个瓶盖是换一瓶汽水,问20块钱能买 多少瓶汽水(不能借) package com.ftl; import java.util.Scanner; public class Water { pub…
求两个数的最大公约数3种算法
方法1:辗转相除法(欧几里得算法) 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = k…
四种求最大公约数的算法 C / C++
文章目录 前言 一、辗转相除法 1. 算法简介 2. 算法描述 3. 代码及复杂度 二、穷举法(枚举法) 1. 算法简介 2. 算法描述 3. 代码及复杂度 三、更相减损法 1. 算法简介 2. 算法描述 3. 代码及复…
在两个排序数组中找到第K小的数
给定两个有序数组arr1和arr2,再给定一个整数k,返回所有的数中第k小的数。要求时间复杂度O(log(min{M,N})),额外空间复杂度O(1)。 【基本思路】 在解决这道题之前,先解决一个小问题:在两个长度相…
三个数字比较大小
如何从逻辑层面去分析三个数字比较大小的问题。 背景(PTA天梯赛集锦): 本题要求将输入的任意3个整数从小到大输出。 输入格式: 输入在一行中给出3个整数,其间以空格分隔。 输出格式: 在一行中将3个整数从小到大输出,其…
任选两个自然数,它们互质的概率是多少?
任选两个自然数,它们互质的概率是多少? 它就是 s = 2 s = 2 s=2时欧拉乘积公式右边的连乘的倒数,因此它等于 s = 2 s = 2 s=2时欧拉乘积公式左边的连加的倒数,即 1 / ζ ( 2 ) 1/ζ(…
有趣的算法题之移除 k 位数字后使剩下的数字最小
原文:微信公众号:程序员小灰——删去k个数字后的最小值 1 题目 给定一个整数,从该整数中去掉 k 个数字,使剩下的数字组成的新整数尽可能小,那么应该选择去掉的数字。 2 思路 感觉这是个挺有意思的问题,所以当…
将一个正整数分解成任意几个数的乘积
这其实也是个搜索组合问题,但是却可以借助动态规划的思想,将问题一步一步分解 首先来个简单点的,输出全部的可能! #include <iostream> #include <string> #inc…
Java递归算法,从1到N个数中,取出K个数,列出所有组合。
题目:从1到n个数中,取出k个数,列出所有组合。 举例,从数字1-5中取三个数的所有可能组合(数字不重复,忽略顺序)为:(5 4 3 ),(5 4 2 ),(5 4 1),(5 3 2 ),(5 3 1 ),(5 2 1…
将三个数字从小到大排列(或者从大到小排列)c及python
将三个数字从小到大排列(或者从大到小排列)c及python 很基础的算法题 输入三个整数x,y,z,请把这三个数由小到大输出。 c: 一般情况下,我们是用三个if来进行一个数字的变化,很简单的依次排序。 代码如下: #i…
两个数之和等于第三个数
这是一个很好的算法题,解法类似于快速排序的整理方法。同时,更为值得注意的是这道题是 人人网2014校园招聘的笔试题,下面首先对题目进行描述: &nbs…