选择题 共5道
编程题 共5道
下列表达式中,值为 false 的是?
int a=5,b=3,c=7;
下列循环中,执行次数最少的是?
// 循环1 for (int i=0; i<10; i+=2){...} // 循环2 for (int i=0; i<10; i+=3){...} // 循环3 for (int i=1; i<10; i*=2){...} // 循环4 for (int i=1; i<10; i*=3){...}
以下代码输出多少个*?
for(int i=1;i<=5;i++){ for(int j=1;j<=i;j++){ cout<<"*"; } }
对于1到1000之间的整数n,下列代码用于判断n是否为质数。请问以下选项中,哪一个替换原循环条件i<=n-1后不能正确判断n是否为质数?
bool is_prime(int n) { if (n < 2) return false; for (int i=2; i<=n-1; ++i) { if (n%i == 0) return false; } return true; }
下列关于运算符的说法,哪个是错误的?
int a=5,b=2;
小明在平面上玩一个走格子的游戏。现在他要依次沿直线经过2个点,你需要计算小明走过的总路程。
提示:平面上两点(x1, y1)和(x2, y2)之间的距离可以使用勾股定理计算,sqrt((x2-x1)2+(y2-y1)2)
第1行,每行包含两个整数x1和y1,表示起点的坐标。
第2行,每行包含两个整数x2和y2,表示终点的坐标。
输出一个实数,表示小明走过的总路程,结果保留两位小数。
-1000<=x1,x2,y1,y2 <= 1000
0 0 3 4
5.00
小明在直线上玩一个走格子的游戏。开始时,他位于坐标0处,并面向正方向。游戏提供一系列移动指令,你需要根据这些指令确定小明最终的位置。移动指令有以下几种:
给你一个包含移动指令的字符串,请你计算小明经过n轮移动后的最终坐标。
第一行包含一个整数n,表示移动的轮数。
第二行包含一个长度为n的字符串,表示移动指令序列,字符串中只包含字符‘W’,‘S’,‘A’,‘D’。
输出一个整数,表示小明最终的坐标。
1<=n<= 100
5 WAWDS
-1
给你一个包含n个整数的数组,这些整数分别是a1,a2,…, an。你需要将这n个整数分成两组,称为B组和C组,使得B组中所有整数的和与C组中所有整数的和的乘积是一个奇数。
输入包含多组测试数据。
第一行是一个整数t,表示测试数据的组数.
接下来的每组测试数据格式如下:
第一行是一个整数n,表示数组中整数的个数。
第二行是n个整数a1,a2,… an,它们之间用空格隔开。
对于每组测试数据,如果能找到符合要求的B组和C组,输出"Yes";如果找不到,输出"No"。
1 ≤t≤500,2≤n≤100,1≤ai≤10^4
2 3 2 1 3 4 2 8 6 4
2
3
2 1 3
4
2 8 6 4
Yes No
定义一个特殊的数列{an},除第一项外其余每一项都是一个分数,前两项为:a1=1,a2 = 1/2。
对于n >2,an的计算规则如下:
给定一个整数n,请计算an的值,以最简分数p/q的形式表示。
一个整数n。
两个整数p和q,中间用空格分隔,表示an=p/q,且要求p和q互质。
2 ≤n≤ 10^5
1 3
小明现在有n个箱子,编号为1~n,第i个箱子中有ai个金币。小明需要按照箱子编号从小到大依次打开所有箱子,一个箱子都需要一把钥匙,现在有两种钥匙可以打开箱子:
一把钥匙只能用于一个箱子,不能重复使用。
小明一共需要使用n把钥匙,每个钥匙打开一个箱子。初始时,小明没有金币,也没有钥匙,如果想要使用一把A钥匙打开箱子,就需要购买它。允许小明当前所拥有的金币数量为负数,例如:小明有1个金币,可以买一把价值为3个金币的A钥匙,那么小明当前拥有的金币数量是-2。
请你帮助小明计算,按照箱子编号从小到大依次打开所有箱子能获取的最大金币数量。
第一行,包含两个整数n、k;
第二行,包含n个整数a1、a2、...、an。
一行,包含一个整数,表示结果。
1≤n≤2*10^5,0≤k≤10^9,0≤ai≤10^9
4 5 10 10 3 1
4 5
10 10 3 1
11
12 51 5 74 89 45 18 69 67 67 11 96 23 59
12 51
5 74 89 45 18 69 67 67 11 96 23 59
60