“c4bb667eaf520f21b3a3db0489682becc9c49bcc”上不存在“include/uapi/git@gitcode.net:openeuler/kernel.git”

update exercises

上级 908ee98e
...@@ -26,7 +26,8 @@ ...@@ -26,7 +26,8 @@
## aop ## aop
### before ### before
```cpp ```cpp
#include <iostream>
using namespace std;
``` ```
### after ### after
```cpp ```cpp
...@@ -35,21 +36,122 @@ ...@@ -35,21 +36,122 @@
## 答案 ## 答案
```cpp ```cpp
int main(int argc, char **argv)
{
string str;
cin >> str;
int A = 0, a = 0, number = 0;
int len = str.length();
for (int i = 0; i < len; i++)
{
if (str[i] <= '9' && str[i] >= '0')
{
number++;
}
if (str[i] <= 'Z' && str[i] >= 'A')
{
A++;
}
if (str[i] <= 'z' && str[i] >= 'a')
{
a++;
}
}
cout << A << endl;
cout << a << endl;
cout << number << endl;
return 0;
}
``` ```
## 选项 ## 选项
### A ### A
```cpp ```cpp
int main(int argc, char **argv)
{
string str;
cin >> str;
int A = 0, a = 0, number = 0;
int len = str.length();
for (int i = 0; i < len; i++)
{
if (str[i] < '9' && str[i] > '0')
{
number++;
}
if (str[i] < 'Z' && str[i] > 'A')
{
A++;
}
if (str[i] < 'z' && str[i] > 'a')
{
a++;
}
}
cout << A << endl;
cout << a << endl;
cout << number << endl;
return 0;
}
``` ```
### B ### B
```cpp ```cpp
int main(int argc, char **argv)
{
string str;
cin >> str;
int A = 0, a = 0, number = 0;
int len = str.length();
for (int i = 0; i < len; i++)
{
if (str[i] < 71 && str[i] > 60)
{
number++;
}
if (str[i] < 132 && str[i] > 101)
{
A++;
}
if (str[i] < 172 && str[i] > 141)
{
a++;
}
}
cout << A << endl;
cout << a << endl;
cout << number << endl;
return 0;
}
``` ```
### C ### C
```cpp ```cpp
int main(int argc, char **argv)
{
string str;
cin >> str;
int A = 0, a = 0, number = 0;
int len = str.length();
for (int i = 0; i < len; i++)
{
if (str[i] < 39 && str[i] > 30)
{
number++;
}
if (str[i] < 132 && str[i] > 101)
{
A++;
}
if (str[i] <= 'z' && str[i] >= 'a')
{
a++;
}
}
cout << A << endl;
cout << a << endl;
cout << number << endl;
return 0;
}
``` ```
...@@ -14,30 +14,80 @@ masks = [9090400, 8499400, 5926800, 8547000, 4958200, 4422600, 5751200, 4175600, ...@@ -14,30 +14,80 @@ masks = [9090400, 8499400, 5926800, 8547000, 4958200, 4422600, 5751200, 4175600,
## aop ## aop
### before ### before
```cpp ```cpp
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
long int masks[15] = {9090400, 8499400, 5926800, 8547000, 4958200,
4422600, 5751200, 4175600, 6309600,
5865200, 6604400, 4635000, 10663400, 8087200, 4554000};
long ans = 1000000000;
``` ```
### after ### after
```cpp ```cpp
int main()
{
dfs(0, 0, 0);
cout << ans;
}
``` ```
## 答案 ## 答案
```cpp ```cpp
void dfs(int n, long h1, long h2)
{
if (n == 15)
{
ans = min(ans, abs(h1 - h2));
return;
}
dfs(n + 1, h1 + masks[n], h2);
dfs(n + 1, h1, h2 + masks[n]);
}
``` ```
## 选项 ## 选项
### A ### A
```cpp ```cpp
void dfs(int n, long h1, long h2)
{
if (n == 15)
{
ans = min(ans, abs(h1 - h2));
return;
}
dfs(n + 1, h1 + masks[n + 1], h2);
dfs(n + 1, h1, h2 + masks[n + 1]);
}
``` ```
### B ### B
```cpp ```cpp
void dfs(int n, long h1, long h2)
{
if (n == 15)
{
ans = min(ans, abs(h1 - h2));
return;
}
dfs(n + 1, h1 + masks[n + 1], h2);
dfs(n + 1, h1, h2 + masks[n]);
}
``` ```
### C ### C
```cpp ```cpp
void dfs(int n, long h1, long h2)
{
if (n == 15)
{
ans = min(ans, abs(h1 - h2));
return;
}
dfs(n, h1 + masks[n], h2);
dfs(n, h1, h2 + masks[n]);
}
``` ```
...@@ -30,7 +30,7 @@ Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 ...@@ -30,7 +30,7 @@ Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
## aop ## aop
### before ### before
```cpp ```cpp
#include <stdio.h>
``` ```
### after ### after
```cpp ```cpp
...@@ -39,21 +39,89 @@ Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 ...@@ -39,21 +39,89 @@ Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
## 答案 ## 答案
```cpp ```cpp
int main()
{
int n, b;
scanf("%d", &n);
int a[n];
a[0] = a[1] = 1;
for (int i = 2; i < n; i++)
{
a[i] = (a[i - 1] + a[i - 2]) % 10007;
b = a[i];
}
if (n > 2)
printf("%d", b);
else
printf("1");
return 0;
}
``` ```
## 选项 ## 选项
### A ### A
```cpp ```cpp
int main()
{
int n, b;
scanf("%d", &n);
int a[n];
a[0] = a[1] = 1;
for (int i = 2; i < n; i++)
{
a[i] = (a[i - 1] + a[i - 2]) % 10007;
b = a[i] + 1;
}
if (n > 2)
printf("%d", b);
else
printf("1");
return 0;
}
``` ```
### B ### B
```cpp ```cpp
int main()
{
int n, b;
scanf("%d", &n);
int a[n];
a[0] = a[1] = 1;
for (int i = 2; i < n; i++)
{
a[i] = (a[i - 1] + a[i - 2]) % 10007;
b = a[i - 1];
}
if (n > 2)
printf("%d", b);
else
printf("1");
return 0;
}
``` ```
### C ### C
```cpp ```cpp
int main()
{
int n, b;
scanf("%d", &n);
int a[n];
a[0] = a[1] = 1;
for (int i = 2; i < n; i++)
{
a[i] = (a[i - 1] + a[i - 2]) % 10007;
b = a[i - 2];
}
if (n > 2)
printf("%d", b);
else
printf("1");
return 0;
}
``` ```
{
"node_id": "569d5e11c4fc5de7844053d9a733c5e8",
"keywords": [],
"children": [],
"export": []
}
\ No newline at end of file
#### 问题描述
斐波那契数列满足 F1 = F2 = 1,从 F3 开始有 Fn = Fn−1 + Fn−2。请你计算 GCD(F2020, F520),其中 GCD(A, B) 表示 A 和 B 的最大公约数。
\ No newline at end of file
import java.math.BigInteger;
public class BigNumber {
public static void main(String[] args) {
BigInteger a = new BigInteger("1");
BigInteger b = new BigInteger("1");
BigInteger[] fib = new BigInteger[2030];
fib[1] = a;
fib[2] = b;
for (int x = 3; x < fib.length; x++) {
fib[x] = fib[x - 1].add(fib[x - 2]);
}
a = fib[2020];
b = fib[520];
BigInteger temp;
while (b != BigInteger.ZERO) {
temp = a.mod(b);
a = b;
b = temp;
}
System.out.println(a);
}
}
# 斐波那契数列最大公约数
#### 问题描述
斐波那契数列满足 F1 = F2 = 1,从 F3 开始有 Fn = Fn−1 + Fn−2。请你计算 GCD(F2020, F520),其中 GCD(A, B) 表示 A 和 B 的最大公约数。
## aop
### before
```cpp
```
### after
```cpp
```
## 答案
```cpp
```
## 选项
### A
```cpp
```
### B
```cpp
```
### C
```cpp
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册
新手
引导
客服 返回
顶部