数学
Nicolas Lee
Yesterday you said tomorrow
展开
-
算法提高 求最大公约数
题目:http://lx.lanqiao.cn/problem.page?gpid=T198#include <iostream>using namespace std;int gcd(int a,int b){ return a%b ? gcd( b, a%b) : b;}int main(int argc, char** argv) { int a, b; ...原创 2019-01-24 14:39:13 · 206 阅读 · 0 评论 -
算法提高 五次方数
题目链接问题描述 对一个数十进制表示时的每一位数字乘五次方再求和,会得到一个数的五次方数 例如:1024的五次方数为1+0+32+1024=1057 有这样一些神奇的数,它的五次方数就是它自己,而且这样的数竟然只有有限多个 从小到大输出所有这样的数分析:0~9中9^5==59049;设位数为n,由题意得到 10^n <= 9^5 *n , 每次逐渐增加位数(n)...原创 2019-02-11 11:04:31 · 816 阅读 · 0 评论 -
算法提高 勾股数
题目链接问题描述 勾股数是一组三个自然数,a < b < c,以这三个数为三角形的三条边能够形成一个直角三角形 输出所有a + b + c <= 1000的勾股数 a小的先输出;a相同的,b小的先输出。#include <iostream>using namespace std; int main(int argc, char** arg...原创 2019-02-11 11:47:28 · 365 阅读 · 0 评论 -
Headshot UVA - 1636 决斗 简单概率
题目链接 首先在手枪里随机装一些子弹,然后抠了一枪,发现没有子弹。你希望下一枪也没有子弹,是应该直接再抠一枪(输出SHOOT)呢,还是随机转一下再抠(输出ROTATE)?如果两种策略下没有子弹的概率相等,输出EQUAL。手枪里的子弹可以看成一个环形序列,开枪一次以后对准下一个位置。例如,子弹序列为0011时,第一次开枪前一定在位置1或2(因为第一枪没有子弹),因此开枪之后位于位置2或3。如...原创 2019-02-24 15:37:59 · 246 阅读 · 0 评论 -
算法提高 质数的后代
题目链接问题描述 在上一季里,曾提到过质数的孤独,其实从另一个角度看,无情隔膜它们的合数全是质数的后代,因为合数可以由质数相乘结合而得。 如果一个合数由两个质数相乘而得,那么我们就叫它是质数们的直接后代。现在,给你一系列自然数,判断它们是否是质数的直接后代。方法一:求素因子的个数,如果为2则是答案。原文链接:https://blog.csdn.net/ShiWaiGao...原创 2019-03-01 17:28:48 · 122 阅读 · 0 评论 -
Floating-Point Numbers UVA - 11809 浮点数
题目链接计算机常用阶码-尾数的方法保存浮点数。如图所示,如果阶码有6位,尾数有8位,可以表达的最大浮点数为0.111111111(2)×2^111111(2)。注意小数点后第一位必须为1,所以一共有9位小数。这个数换算成十进制之后就是0.998046875*263=9.205357638345294*1018。你的任务是根据这个最大浮点数,求出阶码的位数E和尾数的位数M。输入格式为...原创 2019-03-08 14:46:25 · 278 阅读 · 0 评论 -
算法训练 进制转换 将十进制数转为负进制数
题目链接问题描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式。例如:123可表示为 1*102+2*101+3*100这样的形式。 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式。一般说来,任何一个正整数R或一个负整数-R...原创 2019-03-08 21:17:17 · 1122 阅读 · 0 评论 -
Repeating Decimals UVA - 202 循环小数
题目链接输入整数a和b(0≤a≤3000,1≤b≤3000),输出a/b的循环小数表示以及循环节长度。例如a=5,b=43,小数表示为0.(116279069767441860465),循环节长度为21。分析: 重复将分子a变为(b,10b)(分母为b)范围内的整数,如果该a重复出现这,则循环起点为上一次a出现的位置,循环终点为当前的前一个位置。#include <cstd...原创 2019-03-07 18:53:46 · 262 阅读 · 0 评论 -
Box UVA - 1587 盒子
题目链接给定6个矩形的长和宽wi和hi(1≤wi,hi≤1000),判断它们能否构成长方体的6个面。分析:对六个面进行排序,按照长从大到小排序,长相同,按宽排序;接下来进行判断,长方体含有“三对”面,并且一对面中的长或宽等于另一对面中的长或宽,符合条件的即为长方体。#include <cstdio>#include <cstring>#in...原创 2019-03-07 23:40:03 · 254 阅读 · 0 评论 -
历届试题 k倍区间 前缀和
题目链接问题描述 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗?做法:首先统计前缀和sum[i] 表示A1+A2+…+Ai.所以对于任意一段区间[l,r]的和就是sum[r]-sum[l-1].如...原创 2019-03-18 21:25:34 · 351 阅读 · 0 评论 -
2014第五届蓝桥杯国赛c/c++本科B组试题 2. 出栈次序 卡特兰数
X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。路边有个死胡同,只能容一辆车通过,是临时的检查站,如图【p1.png】所示。X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。如果车辆进入检查站和离开的次序可以任意交错。那么,该车队再次上路后,可能的次序有多少种? 为了方便起见,假...原创 2019-04-21 20:28:45 · 331 阅读 · 0 评论 -
算法训练 猴子分苹果
题目链接问题描述 秋天到了,n只猴子采摘了一大堆苹果放到山洞里,约定第二天平分。这些猴子很崇拜猴王孙悟空,所以都想给他留一些苹果。第一只猴子悄悄来到山洞,把苹果平均分成n份,把剩下的m个苹果吃了,然后藏起来一份,最后把剩下的苹果重新合在一起。这些猴子依次悄悄来到山洞,都做同样的操作,恰好每次都剩下了m个苹果。第二天,这些猴子来到山洞,把剩下的苹果分成n分,巧了,还是剩下了m个。问,原来这...原创 2019-02-07 11:47:42 · 854 阅读 · 0 评论 -
算法训练 According to Bartjens 字符串四则运算
题目链接 问题描述 Bartjens教授十分在意算术——因为他比较传统。他决定给学生布置一些计算作业,并且不能使用电子设备。不幸的是,Bartjens教授的打印机实在是太旧了,不能和新的打印机兼容。打印出了题目后,教授发现所有的符号都丢失了!例如2100-100=,被打印成了2100100=。不过,数字和等号被正确的打印了。更糟糕的是,教授的试题原稿不见了。因此,他需要恢复出这些题原...原创 2019-02-06 19:47:47 · 577 阅读 · 0 评论 -
算法提高 素数判断
题目:http://lx.lanqiao.cn/problem.page?gpid=T197 #include <iostream>using namespace std;bool isPrime(int n){ for(int i=2; i*i<=n; i++) if( n%i==0) return false; return true;}int ma...原创 2019-01-24 14:41:53 · 181 阅读 · 0 评论 -
算法提高 任意年月日历输出
题目:http://lx.lanqiao.cn/problem.page?gpid=T199 (已知的周几+全部天数)%7=当前的周几。#include <cstdio>inline bool isLeap(int y){ return y%4==0 && y%100!=0 || y%400==0;}int main(int argc, char*...原创 2019-01-24 15:36:05 · 342 阅读 · 0 评论 -
算法提高 Quadratic Equation
题目链接问题描述 求解方程ax2+bx+c=0的根。要求a, b, c由用户输入,并且可以为任意实数。 输入格式:输入只有一行,包括三个系数,之间用空格格开。 输出格式:输出只有一行,包括两个根,大根在前,小根在后,无需考虑特殊情况,保留小数点后两位。 输入输出样例一元二次方程求根公式#include <algorithm>#include...原创 2019-01-24 20:55:34 · 310 阅读 · 0 评论 -
算法提高 高精度加法
题目:http://lx.lanqiao.cn/problem.page?gpid=T257高精度算法注意,有进位的情况。直接用字符串记录,输出就行了。#include <iostream>#include <string>#include <algorithm> using namespace std;int main(){ strin...原创 2019-01-25 14:24:37 · 302 阅读 · 0 评论 -
算法提高 阶乘差
题目链接问题描述 给定n和m以及p,保证n>=m,求(n!-m!)对p取余的结果。输入格式 一行三个正整数n,m,p。输出格式 一行一个非负整数表示结果。样例输入3 2 10样例输出4数据规模和约定 n,m<=20,p<=10000思路:每次先取余再运算。#include <iostream>usin...原创 2019-01-26 14:11:25 · 329 阅读 · 0 评论 -
算法训练 P0104 一元二次方程求根
题目:http://lx.lanqiao.cn/problem.page?gpid=T429一元二次方程求根公式#include <cstdio>#include <cmath>int main(int argc, char** argv) { double a, b, c; scanf("%lf%lf%lf", &a, &b, &am...原创 2019-01-26 14:42:35 · 816 阅读 · 0 评论 -
算法训练 完数
算法训练 完数 时间限制:1.0s 内存限制:512.0MB 问题描述 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6就是“完数”。又如,28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28也是“完数”。编写一个程序,判断用户输入的一个数是否为“完数”。 输入格式:输入只有一行,即...原创 2018-12-25 09:21:23 · 312 阅读 · 0 评论 -
算法训练 P0501 用位操作实现无符号整数的乘法运算
题目链接首先实现二进制加法:位的异或运算跟求'和'的结果一致:异或 1^1=0 1^0=1 0^0=0求和 1+1=0 1+0=1 0+0=0位的与运算跟求'进位‘的结果一致:位与 1&1=1 1&0=0 0&0=0进位 1+1=1 1+0=0 0+0=0题目已经给出整数为正,否则需要在运算时将整数转换为相应的正整数。#include &...原创 2019-01-31 16:18:37 · 1350 阅读 · 0 评论 -
算法提高 三角形面积
题目:http://lx.lanqiao.cn/problem.page?gpid=T275问题描述 由三角形的三边长,求其面积。 提示:由三角形的三边a,b,c求面积可以用如下的公式: s=(a+b+c)/2 面积=#include <cstdio>#include <cmath>int main() { double a, b, c;...原创 2019-01-27 20:25:16 · 176 阅读 · 0 评论 -
算法提高 P0404 阿尔泰乘积
题目链接计算一个无符号整数的阿尔法乘积。对于一个无符号整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身;否则的话,x的阿尔法乘积就等于它的各位非0的数字相乘所得到的那个整数的阿尔法乘积。例如,4018224312的阿尔法乘积等于8。#include <iostream>#include <string>using na...原创 2019-02-01 20:22:32 · 429 阅读 · 0 评论 -
算法训练 校门外的树 区间运算
题目链接 蓝桥杯 算法训练---------题解方法一:使用数组标记0~l之间的数记为1,再每次重置输入区间的数为0,最后统计即可。#include <iostream>#include <vector>using namespace std; int main() { int l,m; cin>>l>...原创 2019-01-22 22:47:16 · 376 阅读 · 0 评论 -
算法训练 一元三次方程求解
题目链接 蓝桥杯 算法训练---------题解锦囊1枚举加二分答案。锦囊2先用枚举初步确定三个根的范围,比如f[i]*f[i+1]<0则可知道[i,i+1]之间有一个根,然后再对于每个范围内二分求根。问题描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b...原创 2019-05-07 23:01:17 · 1303 阅读 · 0 评论