hanoi 2
汉诺伊塔 2题目: 分析: 3个柱子时是最少移动2^N - 1次 把n个盘分成两部分看,第一部分是用四个柱子时的最优解的方法移到第4个柱子然后移到第3个柱子上- 第二部分在第一部分的下面是用3个柱子时的最优解方法移动到第三个柱子上 1234567891011121314151
汉诺伊塔 2题目: 分析: 3个柱子时是最少移动2^N - 1次 把n个盘分成两部分看,第一部分是用四个柱子时的最优解的方法移到第4个柱子然后移到第3个柱子上- 第二部分在第一部分的下面是用3个柱子时的最优解方法移动到第三个柱子上 1234567891011121314151
Description在数学上,素数的分布没有任何已知规律,因此检测一个数是否素数,只能用比它小的素数来检测整除性质。如果要求出一定范围内的素数表直接检测的代价就太高了。一般采用筛选法的思想:把从1开始的、某一范围内的正整数从小到大顺序排列,1不是素数,首先把它筛掉。剩下的数中选
素数筛选法 预处理的时候把表打出来,复杂度:O(nlogn),然后O(1)查询 思路就是从2开始往后把他的整数倍的数做个标记为不是素数 12345678910111213141516171819202122232425262728293031#include <cstdi
题目大意:找x的x次方大于10,求x的近似值,,要求精确到小数点后第6位(有四舍五入) 分析: 用二分查找 区间不是离散的点,而是连续的点,所以不能r=x-1,l=x+1而改为r=x,l=x 注意pow函数里的参数是double型的 1234567891011121314151
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758#include <cstdio>#include &
二分查找 12345678910111213141516171819202122232425262728293031323334353637383940#include <cstdio>#include <iostream>#include <lim
c语法:char buf[20];gets(buf); //可以输入带空格的字符串 补:也可以用getchar();吃回车 c++语法:如果用string buf;来保存:getline(cin, buf); //吃回车如果用char buf[255];来保存:cin.g
常用范围 32位机的 注意:有符号的第一位是符号位 unsigned int 0~4294967295 (1 << 32) - 1 (32位) int -2147483648~2147483647 (1 &l
题目: 分析: 把直角坐标系画出来就知道了格点可以是长方形的也可以是正方形的-公式:(1 + (q - 2)) * (q - 2) / 2 => (q - 1) * (q - 2) / 2 c++版1234567891011121314151617181920212223
快速乘 快速幂顾名思义,就是快速算某个数的多少次幂。其时间复杂度为 O(logN), 与朴素的O(N)相比效率有了极大的提高。可以将其扩展出快速乘 123456789101112long long qmul(long long a, long long b, long long