解析:乘法原理:
①甲的方案数:C42=6
②乙的方案数:c43=4
③丙的方案数:c43=4
乘法原理总的方案数为:644=96
解析:补集思想 至少两个人生日属于同一月份的概率 = 1 - 所有人的生日都是不同月份的概率。 所有人的生日都是不同月份的概率= 答案:
解析:在最坏情况下,B 中除了最后一个数,每个数都会比较2次,一共 2n - 2次,最后一个数只比较1次,所以结果为2n - 1次
第①轮:x = 1 , y = 0 x=1, y=0x=1,y=0
第②轮:x = 1 , y = − 2 x=1, y=-2x=1,y=−2
第③轮:x = − 2 , y = − 2 x=-2, y=-2x=−2,y=−2
第④轮:x = − 2 , > y = 2 x=-2,> y=2x=−2,>y=2
第⑤轮:x = 3 , y = 2 x=3, y=2x=3,y=2
第⑥轮:x = 3 , y = − 4 x=3, y=-4x=3,y=−4
第⑦轮:x = − 4 , y = − 4 x=-4, y=-4x=−4,y=−4
第⑧轮:x = − 4 , y = 4 x=-4, y=4x=−4,y=4
第⑨轮:x = 5 , y = 4 x=5, y=4x=5,y=4 …
每4轮转一圈,第2017轮刚好是从第二象限水平向右走到第一象限
解析:按照红绿蓝三个格子的顺序进行操作即可。
解析:手动模拟递归调用。
答案为8
解析:手动模拟
a[]记录输入的01序列。b[i]表示序列前i个数中1的个数。
变量t记录从序列从后向前(从n到i)中0的个数。
变量res为序列前i-1个数中1的个数和从i到n中0的个数之和的最小值。
1001101011001101101011110001
答案为:11。
解析:此程序有两个关键变量x和y。x的值从 1 到n 再到 1 循环;y的值从 1 到 m 再到 1 循环。程序求的是x和y同时变为边界值时,边界值为多少。观察发现x周期为 2n-2,y周期为 2m-2。因此,对 n-1与 m-1求最小公倍数 D,用 D 分别除以 n−1 和 m-1,观察结果。如果结果为偶数,那么对应的值为 1,否则为 n 或 m。
分析功能可知,该程序是模拟一个初始位于一个长为 n,宽为 m 的盒子内的左下角有一个小球初始向正右上方向移动,碰到盒子边界之后就会完全反弹,求第二次碰到盒子时小球的坐标,通过画图模拟也可以得出结果。
解析:本题考查快速幂算法的实现。result是乘法的初值,应该被设置为 1,循环条件应该为指数不为 0,故表示p不为 0 的条件可以作为第二空的答案。如果p当前为奇数,说明此时需要进行一次乘法,即让result乘上m(不要忽略取模运算)。每一轮结束时,需要将p右移一位,并让m自乘。故第四空即让x自乘(不要忽略取模运算),最后第五空对应的时输出结果
#include <iostream>
using namespace std;
int n, m, i, lbound, ubound, mid, count;
int len[100]; //绳子长度
int main()
{
cin >> n;
count = 0;
for (i = 0; i < n; i++) {
cin >> len[i];
①;
}
cin >> m;
if (②) {
cout << "Failed" << endl;
return 0;
}
lbound = 1 ;
ubound = 1000000 ;
while (③) {
mid = ④;
count =0 ;
for (i = 0; i < n; i++ )
⑤;
if (count < m)
ubound = mid - 1 ;
else
lbound = mid ;
}
cout << lbound << endl;
return 0;
}
本题主要考查二分算法和贪心算法。二分算法中间的for循环使用贪心算法计算能够切割出的绳段个数。
结合第 ①② 空可知,当绳段长度为 11 时可以切出的绳段个数最多,即所有绳子的长度相加,所以输出Failed的条件应该是所有绳子的总长度小于 m。故用count计算总长度,第 ① 空填count=count+len[i]或count+=len[i],第二空填count[HTML_REMOVED]count。
第 ③④⑤ 空均在二分里,第 ③ 空是二分的结束条件,故应该填lbound[HTML_REMOVED]lbound,即当前二分的区间长度还大于 11 的时候,说明没有确定最终值是多少。第 ④ 空需要特别注意,由于底下ubound是通过mid-1,lbound是通过mid来更新的,所以这空需要填(lbound+ubound+1)/2或(lbound+ubound+1)>>1或(lbound+ubound)/2+1,三者意思相同。
第 ⑤ 空是用来求当确定绳子的切割长度为mid后,最多能切多少段绳段,故应该填count=count+len[i]/mid或者count+=len[i]/mid。
这是什么网站?