最优化原理也称最优性原理,是动态规划的基础。
正确 错误
猴子吃桃问题
类型:递推法之逆推
描述
一只猴子摘了很多桃子,每天吃现有桃子的一半多一个,到第n天时只有一个桃子,问原有桃子多少个?
输入
一个非负整数。
输出
一个非负整数。不加换行符。
示例
(点击编辑器左上角{;}按钮编辑代码框)
输入
5
输出
46
GCD(m,n)
蛮力法
描述
求连续整数检测算法计算GCD(m, n)算法中需要减法计算的次数。
(解空间为min(m,n)down to 1的连续整数,需要由大到小一次检测这个解空间直至符合约束条件,即同时整除m和为止。最好情况GCD(m,n)=min(m,n),需0次减一操作,最差情况是GCD(m,n)=1,需min(m,n)-1次减一操作。)
输入
两个非负整数m和n,用一个空格分开。
输出
一个等于连续整数检测算法计算GCD(m, n)算法中需要减法计算的次数的整数。
示例
(点击编辑器左上角{;}按钮编辑代码框)
输入
8 6
输出
4
输入
12 6
输出
0
捕鱼知多少
蛮力+递推法
类型:循环+分支
描述
n个人合伙夜间捕鱼,上岸时都疲惫不堪,各自在湖边的树丛中找地方睡觉了。清晨,第一个人醒来,将鱼分成 n 份,把多余的一条扔回湖中,拿自己的一份回家了;第二个人醒来,也将鱼分成 n 份,扔掉多余的一条鱼,拿自己的一份回家了;接着,其余人依次醒来,也都按同样的办法分鱼。问:n 个人至少共捕到多少条鱼?
输入
人数n(0<n<100)
输出
n 个人至少共捕到的鱼的数目
示例
(点击编辑器左上角{;}按钮编辑代码框)
输入
5
输出
3121
数字旋转方阵(分治法)
类型:分治与递归
描述
输入
一个非负整数(数字旋转方阵的阶数)
输出
符合题目要求的数字旋转方阵
示例
(点击编辑器左上角{;}按钮编辑代码框)
输入
8
输出
1 28 27 26 25 24 23 22
2 29 48 47 46 45 44 21
3 30 49 60 59 58 43 20
4 31 50 61 64 57 42 19
5 32 51 62 63 56 41 18
6 33 52 53 54 55 40 17
7 34 35 36 37 38 39 16
8 9 10 11 12 13 14 15
输入
18
输出
1 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52
2 69 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 51
3 70 129 180 179 178 177 176 175 174 173 172 171 170 169 168 113 50
4 71 130 181 224 223 222 221 220 219 218 217 216 215 214 167 112 49
5 72 131 182 225 260 259 258 257 256 255 254 253 252 213 166 111 48
6 73 132 183 226 261 288 287 286 285 284 283 282 251 212 165 110 47
7 74 133 184 227 262 289 308 307 306 305 304 281 250 211 164 109 46
8 75 134 185 228 263 290 309 320 319 318 303 280 249 210 163 108 45
9 76 135 186 229 264 291 310 321 324 317 302 279 248 209 162 107 44
10 77 136 187 230