
数学运算
基础练习
Αиcíеиτеǎг
柯南
展开
-
用回溯法及拉斯维加斯概率算法求解N皇后并比较其复杂性
n皇后问题问题描述:n皇后问题,即在n×n的棋盘上摆放n个皇后,使任意两个皇后都不能处于同一行、同一列或同一斜线上。基本要求:用回溯法及拉斯维加斯概率算法求解并比较复杂性。测试数据:要求至少测试四皇后、八皇后。#include<iostream>#include<math.h>#include <ctime>using namespace s...原创 2019-03-11 23:15:03 · 4985 阅读 · 3 评论 -
2018百度之星程序设计大赛资格赛(4道题的答案)
目前是百度之星的资格赛比赛时间,写对一道题就可以进入后面的比赛了,我们初赛再见咯。调查问卷Accepts: 708 Submissions: 3432 Time Limit: 6500/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Problem Description Outp...原创 2018-08-04 21:57:43 · 2469 阅读 · 1 评论 -
蓝桥杯-素数
描述 题目描述: 走进世博园某信息通信馆,参观者将获得前所未有的尖端互动体验,一场充满创想和喜悦的信息通信互动体验秀将以全新形式呈现,从观众踏入展馆的第一步起,就将与手持终端密不可分,人类未来梦想的惊喜从参观者的掌上展开。在等候区的梦想花园中,参观者便开始了他们奇妙的体验之旅,等待中的游客可利用手机等终端参与互动小游戏,与梦想剧场内的虚拟人物Kr. Kong 进行猜数比赛。当屏幕出现一个整...原创 2018-03-25 16:09:58 · 435 阅读 · 0 评论 -
排它平方数
题目描述: 小明正看着 203879 这个数字发呆。 原来,203879 * 203879 = 41566646641这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。具有这样特点的6位数还有一个,请你找出它!再归纳一下筛选要求:6位正整数每个数位上的数字不同其平方数的每个数位不含原数字的任何...原创 2018-03-23 19:12:27 · 211 阅读 · 0 评论 -
机器人繁殖-枚举
题目描述: X星系的机器人可以自动复制自己。它们用1年的时间可以复制出2个自己,然后就失去复制能力。 每年X星系都会选出1个新出生的机器人发往太空。也就是说,如果X星系原有机器人5个, 1年后总数是:5 + 9 = 14 2年后总数是:5 + 9 + 17 = 31 如果已经探测经过n年后的机器人总数s,你能算出最初有多少机器人吗? 输入: 输入一行两个数字n和s,用空格分开,含义如...原创 2018-03-22 21:54:57 · 780 阅读 · 6 评论 -
蓝桥杯练习系统-乘积最大(暴力法||DP)
算法训练 乘积最大 时间限制:1.0s 内存限制:256.0MB锦囊1 动态规划。 问题描述 今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字...原创 2018-02-25 19:55:57 · 551 阅读 · 0 评论 -
蓝桥杯练习系统-水仙花数
算法训练 4-3水仙花数 时间限制:1.0s 内存限制:256.0MB问题描述 打印所有100至999之间的水仙花数。所谓水仙花数是指满足其各位数字立方和为该数字本身的整数,例如 153=1^3+5^3+3^3。 样例输入 一个满足题目要求的输入范例。 例: 无 样例输出 153 ??? ??? ???*///方案1:#include &lt;iostr...原创 2018-02-27 21:08:22 · 599 阅读 · 0 评论 -
蓝桥杯真题:(猜年龄,切面条,神奇算式)
1.猜年龄 小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。 小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。” 请你写出:小明的较小的妹妹的年龄。 注意: 只写一个人的年龄数字,请通过浏览器提交答案。不要书写任何多余的内容。#include&lt;iostream&gt;using namespace...原创 2018-03-17 10:28:35 · 471 阅读 · 0 评论 -
四平方和
四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和。 如果把0包括进去,就正好可以表示为4个数的平方和。 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 + 2^2 (^符号表示乘方的意思) 对于一个给定的正整数,可能存在多种平方和的表示法。 要求你对4个数排序: 0 &lt;= ...原创 2018-03-25 14:49:31 · 1981 阅读 · 0 评论 -
蓝桥杯练习系统-幂方分解
算法训练 幂方分解 时间限制:1.0s 内存限制:256.0MB问题描述 任何一个正整数都可以用2的幂次方表示。例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b)。 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步:7= 22+2+20 (21用2表示) 3=2+20 所以...原创 2018-02-12 20:26:38 · 335 阅读 · 0 评论 -
蓝桥杯练习系统-6-1 递归求二项式系数值
问题描述 使用递归方法求Cnk,递归求二项式系数值 样例输入 一个满足题目要求的输入范例。 3 10 样例输出 120 与上面的样例输入对应的输出。数据规模和约定 输入数据中每一个数的范围。 例:结果在int表示时不会溢出。#include&lt;iostream&gt;using namespace std;int sum(int m,int n){...原创 2018-02-02 19:04:52 · 371 阅读 · 0 评论 -
得分-Score,ACM/ICPC Seoul 2005,UVa1585
给出一个由O和X组成的串(长度为1~80),统计得分。每个O的分数为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。 方案1 思路:在这个方法中,如果一个字母为O判断下一个是不是也是O。如果都是O,那么就a[i]就是累加,不是的话,就为1#include&amp;lt;iostream&amp;gt;#include&amp;lt;cstri...原创 2018-01-25 09:01:11 · 516 阅读 · 0 评论 -
数数字-Digit Counting,ACM/ICPC Danang 2007,UVa122
把前n(n≤10000)个整数顺次写在一起:123456789101112…数一数0~9各出现多少次(输出10个整数,分别是0,1,…,9出现的次数)。#include#includeusing namespace std;int main(){ string s;//将数字串当成字符串输入 cin >> s; int a[10];//用来统计数字出现的次原创 2018-01-25 09:10:53 · 326 阅读 · 0 评论 -
算法竞赛入门经典语言篇笔记
1.整数 - 浮点数 = 浮点数,确切的说法是整数先“变”成浮点数,然后浮点数 - 浮点数 = 浮点数。2.acos()函数返回一个以弧度表示的反余弦值,acos(0.540302) is 1.000000 acos(-1.000000) is 3.1415934.int型整数的最小值和最大值是多少(需要精确值)? INT_MAX = 2147483647,INT_MIN ...原创 2018-02-19 16:48:16 · 451 阅读 · 2 评论 -
分子量-Molar Mass,ACM/ICPC Seoul 2007,UVa1586
给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4种原子,分别为C, H, O, N,原子量分别为12.01, 1.008, 16.00, 14.01(单位:g/mol),例如C6H5OH的分子量为94.108g/mol。/* 思路1: 将除了CHON的其他元素的值设为0 如果mass[buf[i]]为真,证明是以上字符之一 如果它的下一位是字符,则直接累加即可 ...原创 2018-01-25 08:54:55 · 371 阅读 · 0 评论 -
数数字-Digit Counting,ACM/ICPC Danang 2007,UVa1225
把前n(n≤10000)个整数顺次写在一起:123456789101112…数一数0~9各出现多少次(输出10个整数,分别是0,1,…,9出现的次数)。#include#includeusing namespace std;int main(){ string s;//将数字串当成字符串输入 cin >> s; int a[10];//用来统计数字出现的次原创 2018-02-07 14:31:24 · 236 阅读 · 0 评论 -
粒子群算法求解二元函数极值-附带800字程序说明
问题描述:给定一个非线性函数f(x,y) = sin(sqrt(x2+y2))/(sqrt(x2+y2)) + exp((cos(2PIx)+cos(2PIy))/2) - 2.71289,使用粒子群算法来求这个二元函数的极大值。求解思路:通过在MATLAB中绘制该二元函数的图形后,可以发现函数存在很多的局部极大值点,极限位置位于坐标原点(0,0),在(0,0)附近取到极大值,极大值与1十分...原创 2019-12-26 08:25:38 · 6694 阅读 · 0 评论 -
剑指offer(五)用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:栈是先进后出要实现的是在队尾插入节点在队首删除节点首先呢,可以拿一个例子来看,首先通过一个例子来分析,比如插入一个元素a,可以先将它插入到栈1之中。栈1中目前的元素为{a},栈2为空。再压入两个元素b,c。同上。此时栈1的元素为{a,b,c}。栈2为空。现在要删除啦。想要删除的元素为队...原创 2020-02-09 12:26:59 · 144 阅读 · 0 评论 -
剑指offer(二)替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:首先需要统计一下数组的长度以及空格数这样的话,可以从数组的后面进行前推第一个指针指向数组的初始结尾处,第二个指针指向新数组(空格替换为%20)的结尾处当第一个指针指向空格时,第一个指针向前推三个分别为0,2,%这样...原创 2020-02-09 09:07:29 · 141 阅读 · 0 评论 -
LeetCode-移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路:number为标志数,如果不是0,则i往后走如果是0,则i后面的数字替代前面的数字,即跳过0最后将空位补0class Solution { ...原创 2020-02-07 20:25:45 · 377 阅读 · 0 评论 -
LeetCode-旋转图像
示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8,10], [13, 3, 6, 7], [15,14,12,16]],...原创 2020-01-17 11:40:53 · 247 阅读 · 0 评论 -
LeetCode-两数之和
最简单的思路就是暴力法,两遍循环的方式遍历numsclass Solution {public: vector<int> twoSum(vector<int>& nums, int target) { //暴力法 int i,j; for(i = 0 ; i < nums.size() ; i++) ...原创 2020-01-17 10:54:50 · 150 阅读 · 0 评论 -
剑指offer(十一)二进制中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。1、最容易也是容易死循环的一种解法先判断整数二进制表示中最右边的一位是不是1,接着把输入的整数右移一位,此时处于最右边数起的第二位被移到最右边了,再判断是不是1。这样每次移动一位,直到整个整数变成0为止。正数这样是没有问题的。但是负数右移是以1补位的,因此,会一直补1,陷入死循环。class Solution {p...原创 2020-02-10 11:10:25 · 166 阅读 · 0 评论 -
剑指offer(七)斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39用递归会超出内存用循环中直接相加就可以了class Solution {public: int Fibonacci(int n) { int pre1 = 0; int pre2 = 1; int su...原创 2020-02-09 13:51:56 · 160 阅读 · 0 评论 -
LeetCode-存在重复元素
这道题的思路如下:1、首先对数组进行排序2、for循环,可以通过与后面的值进行比较,如果相同可以直接返回true3、如果for循环结束,仍未返回true值,说明元素都不相同,返回falseclass Solution {public: bool containsDuplicate(vector<int>& nums) { so...原创 2020-01-16 22:09:21 · 284 阅读 · 0 评论 -
LeetCode-只出现一次的数字
这道题的思路如下:首先对该数组进行排序,只有一个元素是出现过一次,其他均为两次。所以,对其排序之后,即以下这个状态:如果出现过两次,那么在数组的循环累加两个之后,那么一定会和它后面的那一个想等。如果出现了与后面一个值不相等的话,即为落单的一个值。如果数组累加到倒数第三位和第二位,仍未找到落单,那么落单值为最后一位(数组长度一定是奇数个)代码实现如下:class Solution {...原创 2020-01-16 22:04:59 · 135 阅读 · 0 评论 -
金山办公2020校招-对称数字
输入一个不含前导零的数字,判断这个数字是不是对称数字,如果为对称数字则输出“Yes”,否则输出“No”。定义如果一个数字 x 从左向右读和从右向左读相同,则这个数字是对称数字。比如:输入是1569651、5005都是对称数字,而25则不是一个对称数字。#include <iostream>using namespace std;int main(){ int n; ...原创 2020-02-13 20:24:51 · 233 阅读 · 0 评论 -
LeetCode-加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。class S...原创 2020-02-07 19:35:57 · 190 阅读 · 0 评论 -
剑指offer(十二)数值的整数次方
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0思路如下:首先这个需要考虑几种情况1、两者同时为0,即0的0次方,若都为0则不用算了,退出程序即可2、当base = 1,那么无论exponent为多少,结果都为13、当exponent为1,那么无论base为多少,结果都为ba...原创 2020-02-12 14:46:09 · 153 阅读 · 0 评论 -
入门训练 Fibonacci数列
嗯,用java写算法还真有点不适应呢。这个题其实就两种思路,递归,循环。/*C++循环--编译成功*/#include &lt;iostream&gt;using namespace std;int main(void) { long long int n, i; long long int result = 0; long long int arr[1000000];...原创 2018-11-21 23:30:19 · 159 阅读 · 0 评论 -
蓝桥杯练习系统-完美的代价
基础练习 完美的代价 时间限制:1.0s 内存限制:512.0MB问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换原创 2018-02-07 08:57:28 · 544 阅读 · 0 评论 -
蓝桥杯练习系统-阶乘运算
问题描述 输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即原创 2018-01-30 13:42:19 · 337 阅读 · 0 评论 -
蓝桥杯练习系统-Sine之舞
问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。 所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。 不妨设 An=sin(1–sin(2+sin(3–sin(4+…sin(n))…) Sn=(…(A1+n)A2+n-1)A3+…+2)An+1 FJ想让奶牛们计算Sn的值原创 2018-02-06 10:18:23 · 265 阅读 · 0 评论 -
A+B Problem
算法训练 A+B Problem 时间限制:1.0s 内存限制:512.0MB问题描述 输入A,B。 输出A+B。 输入格式 输入包含两个整数A,B,用一个空格分隔。 输出格式 输出一个整数,表示A+B的值。 样例输入 5 8 样例输出 13 数据规模和约定 -1,000,000,000&lt;=A,B&lt;=1,000,000,000。...原创 2018-02-11 08:45:47 · 230 阅读 · 0 评论 -
蓝桥杯练习系统-十进制转十六进制
问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。 输入格式原创 2018-01-29 17:07:36 · 2114 阅读 · 0 评论 -
蓝桥杯练习系统-报时助手
问题描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“three o’clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。 时和分的读法使用的是英文数字的读法,其中0~20读作: 0:原创 2018-01-29 16:53:06 · 276 阅读 · 0 评论 -
蓝桥杯练习系统-芯片测试
问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。 输入格式 输入数据第一行为一个整数n,表示芯片个数。 第原创 2018-01-28 16:23:14 · 398 阅读 · 0 评论 -
蓝桥杯练习系统-质数分解 循环
问题描述 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1*a2*a3…(a1样例输入 3 10 样例输出 3=3 4=2*2 5=5 6=2*3 7=7 8=2*2*2 9=3*3 10=2*5 提示 先筛出所有素数,然后再分解。 数据规模和约定 2#inclu原创 2018-01-28 15:14:42 · 515 阅读 · 0 评论 -
蓝桥杯练习系统-特殊回文数
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 输入格式 输入一行,包含一个正整数n。 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。 样例输入 52 样例输出 899998 989989 998899 数据规模和约定 1原创 2018-02-03 22:08:09 · 199 阅读 · 0 评论 -
蓝桥杯练习系统-时间转换
问题描述 给定一个以秒为单位的时间t,要求用“h : m : s”的格式来表示这个时间。h表示时间,m表示分钟,而s表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。 输入格式 输入只有一行,是一个整数t(0 输出格式 输出只有一行,是以“h : m : s”的格式所表示的时间,不包括引号。 样原创 2018-01-27 18:00:53 · 630 阅读 · 0 评论