提交 7359675b 编写于 作者: ToTensor's avatar ToTensor

update dir

上级 0104d5ec
......@@ -3,9 +3,8 @@
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
请你推算一下,他当时到底有多年轻。
请你从下面四个选项中选择正确答案
请你推算一下,他当时到底有多年轻
## 答案
......
......@@ -48,7 +48,7 @@ bool check(int n)
int tmpn = n % 10;
if (tmpn == 2 || tmpn == 0 || tmpn == 1 || tmpn == 9)
return true;
__________________
__________________;
}
return false;
}
......@@ -72,7 +72,7 @@ int main()
## 答案
```c
n /= 10;
n /= 10;
```
## 选项
......@@ -80,17 +80,17 @@ int main()
### A
```c
n %= 10;
n %= 10;
```
### B
```c
break;
break;
```
### C
```c
continue;
continue;
```
......@@ -6,11 +6,57 @@
容易看出矩阵第二行第二列中的数是5。请你计算矩阵中第20 行第20 列的数是多少?
以下程序实现了这一功能,请你补全以下空白处内容:
```c
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i = 0;
int j = 0;
int cnt = 2;
int a[250][250];
a[0][0] = 1;
while (cnt < 1000)
{
j++;
while (i != -1 && j != -1)
{
a[i][j] = cnt++;
if (j == 0)
break;
i++;
j--;
}
i++;
while (i != -1 && j != -1)
{
___________;
}
}
for (int i = 0; i < 20; i++)
{
for (int j = 0; j < 20; j++)
{
cout << setw(5) << a[i][j] << ' ';
}
cout << '\n';
}
cout << a[19][19];
return 0;
}
```
## 答案
```c
761
a[i][j] = cnt++;
if (i == 0)
break;
i--;
j++;
```
## 选项
......@@ -18,17 +64,29 @@
### A
```c
759
a[i][j] = cnt++;
if (i == 0)
break;
i++;
j--;
```
### B
```c
760
a[i][j] = cnt++;
if (i == 0)
break;
i--;
j--;
```
### C
```c
769
a[i][j] = cnt++;
if (i == 0)
break;
i++;
j++;
```
......@@ -85,7 +85,7 @@ int main()
{
cnt[logs[i].y]++;
while (logs[i].x - logs[j].x >= d)
__________________
__________________;
if (cnt[logs[i].y] >= k)
st[logs[i].y] = true;
}
......
......@@ -2,11 +2,43 @@
整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)
以下程序实现了这一功能,请你补全以下空白处内容:
```c
#include <stdio.h>
int main()
{
int year, day, dayrun = 0, dayping = 0, sumday = 0;
int count = 0;
for (year = 1901; year <= 2000; year++)
{
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
dayrun += 366;
}
else
{
dayping += 365;
}
}
sumday = dayrun + dayping;
__________________________;
printf("%d", count);
return 0;
}
```
## 答案
```c
5217
for (day = 2; day <= sumday - 7; day += 7)
{
count++;
}
```
## 选项
......@@ -14,17 +46,26 @@
### A
```c
5218
for (day = 2; day <= sumday; day += 7)
{
count++;
}
```
### B
```c
5216
for (day = 2; day < sumday; day += 7)
{
count++;
}
```
### C
```c
5210
for (day = 2; day <= sumday - 7; day++)
{
count++;
}
```
......@@ -6,11 +6,35 @@
A 国估计被测的民众的感染率大概是 1%,呈均匀分布。请问 k 取多少能最节省试剂盒?
以下程序实现了这一功能,请你补全以下空白处内容:
```c
#include <stdio.h>
int main()
{
double m = 4537;
double min = 9999999;
double k, sum, ans;
for (k = 1; k <= 100; k++)
{
sum = (m - k) / k + 0.01 * m * k + 1;
__________________;
}
printf("%d\n", (int)ans);
return 0;
}
```
## 答案
```c
10
if (sum < min)
{
min = sum;
ans = k;
}
```
## 选项
......@@ -18,17 +42,29 @@ A 国估计被测的民众的感染率大概是 1%,呈均匀分布。请问 k
### A
```c
8
if (sum < min)
{
min = sum;
ans = k + 1;
}
```
### B
```c
9
if (sum > min)
{
min = sum;
ans = k;
}
```
### C
```c
12
if (sum >= min)
{
min = sum;
ans = k + 1;
}
```
......@@ -4,11 +4,34 @@
请问,他从多少岁开始过生日party的?
以下程序实现了这一功能,请你补全以下空白处内容:
```c
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char *argv[])
{
int age = 0;
int sum = 0;
for (int i = 0; i < 100; sum = 0, i++)
for (int j = i; j < 100; j++)
{
_____________________;
if (sum == 236)
cout << i << " " << j;
else if (sum > 236)
break;
}
return 0;
}
```
## 答案
```c
26
sum += j;
```
## 选项
......@@ -16,17 +39,17 @@
### A
```c
24
sum = j;
```
### B
```c
25
sum += 1;
```
### C
```c
27
sum = j + 1;
```
......@@ -15,11 +15,36 @@ A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要
如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?
以下程序实现了这一功能,请你补全以下空白处内容:
```c
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
int a[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int res = 0;
do
{
int x1 = a[0] + a[1] + a[2] + a[3];
int x2 = a[3] + a[4] + a[5] + a[6];
int x3 = a[6] + a[7] + a[8] + a[0];
__________________;
} while (next_permutation(a, a + 9));
cout << res / 3 / 2 << endl;
return 0;
}
```
## 答案
```c
144
if (x1 == x2 && x2 == x3)
{
res++;
}
```
## 选项
......@@ -27,17 +52,26 @@ A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要
### A
```c
124
if (x1 == x2 || x2 == x3)
{
res++;
}
```
### B
```c
128
if (x1 == x2 || x1 == x3)
{
res++;
}
```
### C
```c
132
if (x1 == x2)
{
res++;
}
```
......@@ -14,11 +14,55 @@
3. 其平方数的每个数位不含原数字的任何组成数位
以下程序实现了这一功能,请你补全以下空白处内容:
```c
#include <iostream>
using namespace std;
int main()
{
int num[10], flag;
for (long long i = 123456; i <= 987654; i++)
{
long long a = i;
long long b = i * i;
memset(num, 0, sizeof(num));
flag = 1;
while (a)
{
_________________;
}
if (flag)
{
while (b)
{
if (num[b % 10])
{
flag = 0;
break;
}
b /= 10;
}
if (flag)
cout << i << endl;
}
}
return 0;
}
```
## 答案
```c
639172
if (num[a % 10])
{
flag = 0;
break;
}
num[a % 10]++;
a /= 10;
```
## 选项
......@@ -26,17 +70,35 @@
### A
```c
629173
if (num[a % 10])
{
flag = 0;
continue;
}
num[a % 10]++;
a /= 10;
```
### B
```c
691372
if (num[a % 10])
{
flag = 0;
continue;
}
num[a % 10]++;
a %= 10;
```
### C
```c
627193
if (num[a % 10])
{
flag = 0;
break;
}
num[a % 10]++;
a %= 10;
```
......@@ -8,7 +8,7 @@
比如:
```
```json
5 = 0^ 2 + 0^ 2 + 1^ 2 + 2^2
7 = 1^ 2 + 1^ 2 + 1^ 2 + 2^2
(^符号表示乘方的意思)
......@@ -18,7 +18,7 @@
要求你对4个数排序:
```
```json
0 <= a <= b <= c <= d
```
......@@ -30,37 +30,37 @@
例如,输入:
```
```json
5
```
则程序应该输出:
```
```json
0 0 1 2
```
再例如,输入:
```
```json
12
```
则程序应该输出:
```
```json
0 2 2 2
```
再例如,输入:
```
```json
773535
```
则程序应该输出:
```
```json
1 1 267 838
```
......@@ -100,7 +100,7 @@ int main()
int l = 0, r = m - 1;
while (l < r)
{
__________________
__________________;
if (sum[mid].s >= t)
r = mid;
else
......
......@@ -9,10 +9,33 @@
请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?
```c
#include <bits/stdc++.h>
using namespace std;
int main()
{
int ans = 0, x;
for (int i = 1; i <= 2020; i++)
{
x = i;
while (x)
{
________________;
}
}
cout << ans;
return 0;
}
```
## 答案
```c
624
if (x % 10 == 2)
{
ans++;
}
x /= 10;
```
## 选项
......@@ -20,17 +43,29 @@
### A
```c
626
if (x % 10 == 2)
{
ans++;
}
x %= 10;
```
### B
```c
622
if (x / 10 == 2)
{
ans++;
}
x /= 10;
```
### C
```c
628
if (x / 10 == 2)
{
ans++;
}
x %= 10;
```
......@@ -12,11 +12,31 @@ X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟
本题的要求就是写出这两种初始条件下,60分钟后Y的数目。
以下程序实现了这一功能,请你补全空白处内容:
```c
#include <iostream>
using namespace std;
int main()
{
int x = 10, y = 90;
for (int i = 1; i <= 120; i++)
{
________________;
}
cout << y << endl;
}
```
## 答案
```c
94371840
if (i % 2 == 1)
y -= x;
if (i % 4 == 0)
y *= 2;
if (i % 6 == 0)
x *= 2;
```
## 选项
......@@ -24,17 +44,32 @@ X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟
### A
```c
167772160
if (i % 2 == 1)
y -= x;
if (i % 4 == 2)
y *= 2;
if (i % 6 == 3)
x *= 2;
```
### B
```c
47185920
if (i % 2 == 1)
y -= x;
if (i % 4 == 1)
y *= 2;
if (i % 6 == 2)
x *= 2;
```
### C
```c
92160
if (i % 2 == 1)
y *= x;
if (i % 4 == 0)
y *= 2;
if (i % 6 == 0)
x *= 2;
```
......@@ -52,7 +52,7 @@ int main()
{
cin >> a[i].xm >> a[i].xh >> a[i].yy >> a[i].sx >> a[i].cpp;
sum = a[i].yy + a[i].sx + a[i].cpp;
__________________
__________________;
}
cout << maxs << endl
<< mins;
......@@ -63,16 +63,16 @@ int main()
## 答案
```c
if (min > sum)
{
min = sum;
mins = a[i].xm;
}
if (max < sum)
{
max = sum;
maxs = a[i].xm;
}
if (min > sum)
{
min = sum;
mins = a[i].xm;
}
if (max < sum)
{
max = sum;
maxs = a[i].xm;
}
```
## 选项
......@@ -80,44 +80,44 @@ int main()
### A
```c
if (min < sum)
{
min = sum;
mins = a[i].xm;
}
if (max > sum)
{
max = sum;
maxs = a[i].xm;
}
if (min < sum)
{
min = sum;
mins = a[i].xm;
}
if (max > sum)
{
max = sum;
maxs = a[i].xm;
}
```
### B
```c
if (min > sum)
{
max = sum;
mins = a[i].xm;
}
if (max < sum)
{
min = sum;
maxs = a[i].xm;
}
if (min > sum)
{
max = sum;
mins = a[i].xm;
}
if (max < sum)
{
min = sum;
maxs = a[i].xm;
}
```
### C
```c
if (min > sum)
{
min = sum;
maxs = a[i].xm;
}
if (max < sum)
{
max = sum;
mins = a[i].xm;
}
if (min > sum)
{
min = sum;
maxs = a[i].xm;
}
if (max < sum)
{
max = sum;
mins = a[i].xm;
}
```
......@@ -8,11 +8,48 @@
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
以下程序实现了这一功能,请你填补空白处内容:
```c
#include <stdio.h>
int main()
{
int monthDays[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int days = 1000;
int year = 2014, month = 11, day = 9;
int i;
for (i = 0; i < days; i++)
{
day++;
if (day > monthDays[month - 1])
{
day = 1;
month++;
if (month > 12)
{
month = 1;
year++;
____________________;
}
}
}
printf("%d-%d-%d\n", year, month, day);
getchar();
return 0;
}
```
## 答案
```c
2017-08-05
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
monthDays[1] = 29;
else
monthDays[1] = 28;
```
## 选项
......@@ -20,17 +57,26 @@
### A
```c
2017-09-05
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
monthDays[1] = 30;
else
monthDays[1] = 29;
```
### B
```c
2017-08-06
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
monthDays[1] = 31;
else
monthDays[1] = 30;
```
### C
```c
2017-09-06
if ((year % 400 == 0) && (year % 4 == 0 && year % 100 != 0))
monthDays[1] = 30;
else
monthDays[1] = 29;
```
......@@ -8,7 +8,7 @@
比较简单的一种是用连分数:
```
```json
1
黄金数 = ---------------------
1
......
......@@ -39,7 +39,7 @@ void f(int x)
for (i = 0; i < 32; i++)
printf("%d", (x >> (31 - i)) & 1);
printf(" ");
__________________
__________________;
for (i = 0; i < 32; i++)
printf("%d", (x >> (31 - i)) & 1);
printf("\n");
......
......@@ -1022,11 +1022,42 @@ REPEAT 9:
A = A + 5
```
以下程序实现了这一功能,请你补全以下空白处内容:
```c
#include <iostream>
using namespace std;
int main()
{
int res = 0;
for (int i = 0; i < 2; i++)
{
res += 4;
for (int j = 0; j < 5; j++)
{
for (int p = 0; p < 6; p++)
{
_______________;
}
res += 7;
}
res += 8;
}
res += 9;
cout << res;
return 0;
}
```
## 答案
```c
403
res += 5;
```
## 选项
......@@ -1034,17 +1065,17 @@ REPEAT 9:
### A
```c
400
res += 3;
```
### B
```c
401
res += 1;
```
### C
```c
402
res += 2;
```
......@@ -14,11 +14,32 @@
如果一共有100层,共有多少个煤球?
以下程序实现了这一功能,请你补全以下空白处内容:
```c
#include <iostream>
using namespace std;
int f[101];
int main()
{
f[1] = 1;
for (int i = 2; i <= 100; i++)
f[i] = f[i - 1] + i;
for (int i = 2; i <= 100; i++)
____________________;
cout << f[100];
return 0;
}
```
## 答案
```c
171700
f[i] = f[i - 1] + f[i];
```
## 选项
......@@ -26,17 +47,17 @@
### A
```c
166650
f[i] = f[i + 1] + f[i];
```
### B
```c
176851
f[i] = f[i - 1] + f[i - 2];
```
### C
```c
182104
f[i] = f[i + 1] + f[i];
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册