diff --git a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202312/10.cpp b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202312/10.cpp index 544cb68..0d513d0 100644 --- a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202312/10.cpp +++ b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202312/10.cpp @@ -2,7 +2,7 @@ using namespace std; int k; string kill(string s) { - int p = 0; + int p = s[s.size() - 1]; // 最后一位是默认值 for (int i = 0; i < s.size() - 1; i++) if (s[i + 1] > s[i]) { p = i; diff --git a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202312/7.cpp b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202312/7.cpp index e6841a4..0b13096 100644 --- a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202312/7.cpp +++ b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202312/7.cpp @@ -2,12 +2,13 @@ using namespace std; bool check(int x) { + int sum = 0; while (x) { int a = x % 10; x /= 10; - if (a % 2 == 0) return false; + sum += a; } - return true; + return sum % 2 == 0; } int main() { diff --git a/TangDou/LanQiaoBei/ZhongGaoJi/复习.md b/TangDou/LanQiaoBei/ZhongGaoJi/复习.md new file mode 100644 index 0000000..bf08541 --- /dev/null +++ b/TangDou/LanQiaoBei/ZhongGaoJi/复习.md @@ -0,0 +1,92 @@ +## 复习提纲 + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202403061946897.png) + +以$A$为例,5进制理解为$5^0,5^1,5^2,5^3$ +$(1234)_5=1*4+3*5+2*25+1*125=194$ +$(302)_8=2*8^0+0*8^1+3*8^2=2*1+0*8+3*64=194$ +$(11000100)_2=(304)_8$ 与$(302)_8$不同,所以答案是$C$ +$(C2)_{16}=2*1+12*16=194$ + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202403061959229.png) +```cpp {.line-numbers} +#include +using namespace std; + +bool check(int x) { + int sum = 0; + while (x) { + int a = x % 10; + x /= 10; + sum += a; + } + return sum % 2 == 0; +} + +int main() { + int n, m; + cin >> n >> m; + for (int i = n; i <= m; i++) + if (check(i)) + cout << i << endl; + return 0; +} +``` +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202403062003538.png) + +```cpp {.line-numbers} +#include +using namespace std; + +int main() { + string s; + cin >> s; + + int m; + cin >> m; + m--; + + while (m--) { + string t; + for (int i = 0; i < s.size(); i++) { + int c = 1; + while (i + 1 < s.size() && s[i + 1] == s[i]) { + c++; + i++; + } + t = t + to_string(c) + s[i]; + } + s = t; + } + cout << s << endl; + return 0; +} + +``` + +![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202403062017538.png) +```cpp {.line-numbers} +#include +using namespace std; +int k; +string kill(string s) { + int p = 0; + for (int i = 0; i < s.size() - 1; i++) + if (s[i + 1] > s[i]) { + p = i; + break; + } + string res; + for (int i = 0; i < s.size(); i++) + if (i != p) res += s[i]; + return res; +} + +int main() { + string s; + cin >> s >> k; + for (int i = 1; i <= k; i++) s = kill(s); + cout << s << endl; + return 0; +} +``` \ No newline at end of file diff --git a/TangDou/LanQiaoBei/ZhongGaoJi/复习.pdf b/TangDou/LanQiaoBei/ZhongGaoJi/复习.pdf new file mode 100644 index 0000000..d9abe2f Binary files /dev/null and b/TangDou/LanQiaoBei/ZhongGaoJi/复习.pdf differ diff --git a/TangDou/LanQiaoBei/ZhongGaoJi/复习_tmp.html b/TangDou/LanQiaoBei/ZhongGaoJi/复习_tmp.html new file mode 100644 index 0000000..639c6a6 --- /dev/null +++ b/TangDou/LanQiaoBei/ZhongGaoJi/复习_tmp.html @@ -0,0 +1,454 @@ + + + +复习.md + + + + + + + + + + + + +

复习提纲

+

+

以$A$为例,5进制理解为$5^0,5^1,5^2,5^3$ +$(1234)_5=14+35+225+1125=194$ +$(302)_8=28^0+08^1+38^2=21+08+364=194$ +$(11000100)_2=(304)_8$ 与$(302)8$不同,所以答案是$C$ +$(C2){16}=21+1216=194$

+

+
#include <bits/stdc++.h> +using namespace std; + +bool check(int x) { + int sum = 0; + while (x) { + int a = x % 10; + x /= 10; + sum += a; + } + return sum % 2 == 0; +} + +int main() { + int n, m; + cin >> n >> m; + for (int i = n; i <= m; i++) + if (check(i)) + cout << i << endl; + return 0; +} +
+

+
#include <bits/stdc++.h> +using namespace std; + +int main() { + string s; + cin >> s; + + int m; + cin >> m; + m--; + + while (m--) { + string t; + for (int i = 0; i < s.size(); i++) { + int c = 1; + while (i + 1 < s.size() && s[i + 1] == s[i]) { + c++; + i++; + } + t = t + to_string(c) + s[i]; + } + s = t; + } + cout << s << endl; + return 0; +} + +
+

+
#include <bits/stdc++.h> +using namespace std; +int k; +string kill(string s) { + int p = 0; + for (int i = 0; i < s.size() - 1; i++) + if (s[i + 1] > s[i]) { + p = i; + break; + } + string res; + for (int i = 0; i < s.size(); i++) + if (i != p) res += s[i]; + return res; +} + +int main() { + string s; + cin >> s >> k; + for (int i = 1; i <= k; i++) s = kill(s); + cout << s << endl; + return 0; +} +
+ + +