Skip to content

Commit 490fabf

Browse files
committed
add basic 1121-1125
1 parent 70586a1 commit 490fabf

File tree

5 files changed

+95
-0
lines changed

5 files changed

+95
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
def is_lucky(num_str):
2+
result, val = True, 0
3+
for i in range(0, len(num_str)):
4+
val = val * 10 + int(num_str[i])
5+
result &= val % (i + 1) == 0
6+
return result
7+
8+
9+
input()
10+
num_str_arr = input().split()
11+
for num_str in num_str_arr:
12+
print("Yes" if is_lucky(num_str) else "No")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
input()
2+
arr = map(int, input().split())
3+
# filter out even numbers
4+
arr = list(filter(lambda v: v % 2 == 1, arr))
5+
result = arr[0]
6+
# xor remove odd number pair
7+
for i in range(1, len(arr)):
8+
result ^= arr[i]
9+
print(result)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from decimal import *
2+
3+
4+
def round_number(method, number, precision):
5+
context = getcontext()
6+
context.prec = 300 # 精度位数一定要大
7+
if method == "1":
8+
context.rounding = ROUND_HALF_UP
9+
elif method == "2":
10+
context.rounding = ROUND_DOWN
11+
elif method == "3":
12+
context.rounding = ROUND_HALF_EVEN
13+
14+
d = Decimal(number).quantize(Decimal("0." + "0" * precision))
15+
if d == 0:
16+
d = abs(d)
17+
ans = str(d)
18+
if ans[0] == "+":
19+
ans = ans[1:]
20+
return ans
21+
22+
23+
n, d = map(int, input().split())
24+
for i in range(n):
25+
op, num = input().split()
26+
print(round_number(op, num, d))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
fib = [0, 1]
2+
3+
count = 0
4+
while fib[-1] <= 10**8:
5+
new = fib[-1] + fib[-2]
6+
fib.append(new)
7+
8+
v = int(input())
9+
ans, diff = -1, 10**8
10+
for i in range(len(fib)):
11+
if fib[i] >= v:
12+
if abs(fib[i] - v) < diff:
13+
ans = fib[i]
14+
break
15+
else:
16+
ans = fib[i]
17+
diff = abs(fib[i] - v)
18+
print(ans)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#include <iostream>
2+
#include <vector>
3+
using namespace std;
4+
5+
int main() {
6+
ios::sync_with_stdio(false);
7+
string s, p;
8+
cin >> s >> p;
9+
10+
pair<int, string> ans{10e5+10, ""};
11+
// brute force match p in s and find the shortest substring
12+
for (int i = 0; i < s.size(); i++) {
13+
if (s[i] != p[0]) continue;
14+
int l = i, r = l+1;
15+
int k = 1;
16+
for (; r < s.size() && k != p.size(); r++) {
17+
if (s[r] == p[k]) k++;
18+
if (k == p.size()) break;
19+
}
20+
21+
int len = r-l+1;
22+
if (k == p.size() && len < ans.first) {
23+
ans.first = len;
24+
ans.second = s.substr(l, len);
25+
}
26+
}
27+
28+
cout << ans.second << endl;
29+
return 0;
30+
}

0 commit comments

Comments
 (0)