
算法_基础算法练习题
coderALEX
这个作者很懒,什么都没留下…
展开
-
LeetCode 15 三数之和
题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]来源:力扣(LeetC...原创 2019-12-27 10:54:30 · 250 阅读 · 0 评论 -
蓝桥杯_C语言_本科B——x的x次幂
如果x的x次幂结果为10,你能计算出x的近似值吗?显然,这个值是介于2和3之间的一个数字。请把x的值计算到小数后6位(四舍五入),并填写这个小数值。需要用到的函数fabs(double x),求x的绝对值;pow(x,y),求x^y的值#include <iostream>#include <math.h> #include <iomanip>using namespace std;int原创 2016-11-24 23:01:47 · 1051 阅读 · 1 评论 -
蓝桥杯_C语言_本科B——调和级数
1/1 + 1/2 + 1/3 + 1/4 + … 在数学上称为调和级数。它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。但是,它发散的很慢:前1项和达到 1.0 前4项和才超过 2.0 前83项的和才超过 5.0那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?请填写这个整数。注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。#include原创 2016-11-24 19:48:10 · 1179 阅读 · 0 评论 -
基础算法思想_递归算法——五个人捕鱼
五个人去捕鱼 第二天早上 第一个人醒来 将鱼分成五份 把多余的一条鱼扔掉 拿走一份 第二个醒来 也将鱼分成5份 把多余的一条鱼扔掉 拿走一份 另外三个人依次醒来 也按同样的方法拿走鱼 问他们至少捕了多少鱼?#include"stdio.h"int sub(int n){//n代表人的个数 if(n==1) { static int i=0;//(全局变量)原创 2016-11-23 22:58:55 · 4557 阅读 · 1 评论 -
基础算法思想_枚举(穷举)算法——填数游戏
枚举(穷举)算法——填数游戏原创 2016-11-15 14:59:33 · 1029 阅读 · 0 评论 -
基础算法思想_递归——斐波那契数列
斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。 一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子? 我们不妨拿新出生的一对小兔子分析一下: 第一个月小兔子没有繁殖能力,所以还是一对 两个月后,生下一对小兔对数共有两对 三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力原创 2016-11-22 19:18:34 · 734 阅读 · 0 评论 -
蓝桥杯_C语言_本科B——勾股定理
勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。求满足这个条件的不同直角三角形的个数。#include <iostream>#include <stdio.h>using namespace std;int main(){ int a,b,n,count=0; long m; ci原创 2016-12-01 18:35:40 · 1807 阅读 · 0 评论 -
蓝桥杯_C语言_本科B——李白打酒
标题:李白打酒话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有原创 2016-11-15 19:42:39 · 1361 阅读 · 0 评论 -
蓝桥杯_C语言_本科B——啤酒和饮料
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。原创 2016-11-15 15:16:19 · 3960 阅读 · 4 评论 -
蓝桥杯_C语言_本科B——七对数字
今有7对数字:两个1,两个2,两个3,…两个7,把它们排成一行。 要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:17126425374635当然,如果把它倒过来,也是符合要求的。请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。注意:只填写这个14位的整数,不能填写任何多余的内容,比如说明注释等。#include<原创 2016-12-01 11:18:17 · 1244 阅读 · 0 评论 -
蓝桥杯_C语言_本科B——六角填数
标题:六角填数 如图所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交答案,不要填写多余的内容。 最好理解但最麻烦的写法(一开始的)(⊙﹏⊙)b#include <stdio.h>int main(){ int a,b,c,d,e,f,g,h,i; int x原创 2016-11-17 22:27:55 · 2032 阅读 · 2 评论 -
蓝桥杯_C语言_本科B——奇怪的分式
标题:奇怪的分式上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1 乘以 5/8原创 2016-11-17 21:12:07 · 2972 阅读 · 3 评论 -
蓝桥杯_C语言_本科B——打印图形
标题:打印图形小明在X星球的城堡中发现了如下图形和文字: 小明开动脑筋,编写了如下的程序,实现该图形的打印。#define N 70void f(char a[][N], int rank, int row, int col){ if(rank==1){ a[row][col] = '*'; return; } int w =原创 2016-11-17 19:57:37 · 609 阅读 · 0 评论 -
蓝桥杯_C语言_本科B——史丰收速算
标题:史丰收速算史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算!速算的核心基础是:1位数乘以多位数的乘法。其中,乘以7是最复杂的,就以它为例。因为,1/7 是个循环小数:0.142857...,如果多位数超过 142857...,就要进1同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/7,就要进n下面的程序模拟了史丰收速算法中乘以7原创 2016-11-17 19:51:58 · 772 阅读 · 0 评论