蓝桥杯专题-真题版含答案-【古代赌局】【古堡算式】【微生物增殖】【密码发生器】
Unity3D特效百例 | 案例项目实战源码 | Android-Unity实战问题汇总 |
---|---|---|
游戏脚本-辅助自动化 | Android控件全解手册 | 再战Android系列 |
Scratch编程案例 | 软考全系列 | Unity3D学习专栏 |
蓝桥系列 | ChatGPT和AIGC |
👉关于作者
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,获取更多支持,交流让学习不再孤单。
👉实践过程
😜古代赌局
俗话说:十赌九输。因为大多数赌局的背后都藏有阴谋。不过也不尽然,有些赌局背后藏有的是:“阳谋”。
有一种赌局是这样的:桌子上放六个匣子,编号是1至6。多位参与者(以下称玩家)可以把任意数量的钱押在某个编号的匣子上。
所有玩家都下注后,庄家同时掷出3个骰子(骰子上的数字都是1至6)。输赢规则如下:
- 若某一个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目赔付(即1比1的赔率)。
- 若有两个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目的2倍赔付(即1比2的赔率)。
- 若三个骰子上的数字都与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目的6倍赔付(即1比6的赔率)。
- 若玩家所押注匣子号与某个骰子示数乘积等于另外两个骰子示数的乘积,则玩家拿回自己的押注,庄家也不赔付(流局)。
- 若以上规则有同时满足者,玩家可以选择对自己最有利的规则。规则执行后,则庄家收获所有匣子上剩余的押注。
乍一看起来,好像规则对玩家有利,庄家吃亏。但经过大量实战,会发现局面很难说,于是怀疑是否庄家做了手脚,
庄家则十分爽快地说:可以由玩家提供骰子,甚至也可以由玩家来投掷骰子。
你的任务是:通过编程模拟该过程。模拟50万次,假定只有1个玩家,他每次的押注都是1元钱,其押注的匣子号是随机的。
再假定庄家有足够的资金用于赔付。最后计算出庄家的盈率(庄家盈利金额/押注总金额)。
【输入、输出格式要求】
程序无输入,程序运行输出庄家的盈率,四舍五入保留到小数后3位。
【注意】
请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
相关的工程文件不要拷入。
请不要使用package语句。
源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。
package Question10_19;
importjava.util.Scanner;
publicclass Question14 {publicstaticvoid main(String[] args) {int a,b,c,d,sum = 0;for (int i = 0; i < 500000; i++) {a=(int) (Math.random()*6)+1;b=(int) (Math.random()*6)+1;c=(int) (Math.random()*6)+1;d=(int) (Math.random()*6)+1;// System.out.println(a+" "+b+" "+c+" "+d);if(a==b&&a==c&&a==d){sum-=6;}elseif((a==b&&a==c)||(a==c&&a==d)||(a==b&&a==d)){sum-=2;}elseif(a==b||a==c||a==d){sum-=1;}elseif ((a*b==c*d)||(a*c==b*d)||(a*d==b*c)) {sum-=0;}else {sum+=1;}}System.out.printf("%.3f",sum/500000f);}
}
程序输出:
0.021
import java.math.BigDecimal;
public class Demo04 { static int sum = 0; // 庄家总钱数 public static void f(int m,int n,int a,int b,int c){ if(n==a&&n==b&&n==c){ sum -= 6*m; }else if(n==a&&n==b||n==a&&n==c||n==b&&n==c){ sum -= 2*m; }else if(n==a||n==b||n==c){ sum -= m; }else if(!(n*a==b*c||n*b==a*c||n*c==a*b)){ sum += m; } } public static void main(String[] args) throws Exception{ int m = 1; // 押注都是1元钱 int n; // 押注匣子号 int a; // 第一个骰子 int b; // 第二个骰子 int c; // 第三个骰子 for(int i=0;i<500000;i++){ n = (int)(Math.random()*6+1); a = (int)(Math.random()*6+1); b = (int)(Math.random()*6+1); c = (int)(Math.random()*6+1); f(m,n,a,b,c); }
// float f = (new BigDecimal(sum).divide(new BigDecimal(500000),
// 3,BigDecimal.ROUND_HALF_UP)).floatValue();
// System.out.println(f); double d = sum/500000f; System.out.printf("%.3f\n",d); }
} 运行结果:
0.025结果2:
0.022 结果3:
0.024
.....
😜古堡算式
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。
public class TDemo02_two {publicstaticvoid main(String[] args){for(int i=10000;i<100000;i++){int a = i/10000;int b = i%10000/1000;int c = i%10000%1000/100;int d = i%10000%1000%100/10;int e = i%10;if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e){continue;}int y = e*10000+d*1000+c*100+b*10+a;if(y%i==0){System.out.println(i+"*"+y/i+"="+y);}}}
}
运行结果:
21978*4=87912
public class Demo02 { // 检查是否是全111111... public static boolean check(int[] b){ boolean flag = true; for(int i=0;i<b.length;i++){ if(b[i]==0){ flag = false; break; } } return flag; } // 检查是否是一个五位数 public static boolean checkFive(int[] b){ boolean flag = false; int count = 0; for(int i=0;i<b.length;i++){ if(b[i]==1){ count++; } } if(count==5) flag = true; return flag; } // 得到一个五位数字 public static String values(int[] b){ StringBuffer sb = new StringBuffer(); for(int i=0;i<b.length;i++){ if(b[i]!=0){ sb.append(i); } } return sb.toString(); } // 反转 n public static int reverse(int n){ StringBuffer sb = new StringBuffer(); sb.append(n); sb.reverse(); return Integer.parseInt(sb.toString()); } // 进位得到下一个数字 public static void modify(int[] b){ b[b.length-1]++; for(int i=b.length-1;i>0;i--){ if(b[i]>1){ b[i] = 0; b[i-1]++; } } } public static void calc(String s){ int n = Integer.parseInt(s); // 得到一个五位数字 int r = reverse(n); // 反转 n if(r%n==0) // 得到结果 n * ? = r System.out.println(n+"*"+(r/n)+"="+r); } public static void allSort(char[] c,int start,int end){ char temp = 0; if(start==end){ String s = new String(c); if((s.charAt(0)-'0')!=0){ calc(s); // 计算结果 } }else{ for(int i=start;i<=end;i++){ temp = c[start]; c[start] = c[i]; c[i] = temp; allSort(c,start+1,end); temp = c[start]; c[start] = c[i]; c[i] = temp; } } } public static void f(int[] b){ for(;;){ if(check(b)) break; // 检查是否是全111111... modify(b); // 进位,进行下一个数字的测试 if(!checkFive(b)) continue; // 检查是否是一个五位数字 String s = values(b); // 得到一个五位数字 char[] c = s.toCharArray(); allSort(c,0,c.length-1); // 全排列其中一个五位数,并计算结果 } } public static void main(String[] args){ int[] b = new int[10]; f(b); }
}运行结果:
21978*4=87912
public class Demo02 { // 检查是否是全111111... public static boolean check(int[] b){ boolean flag = true; for(int i=0;i<b.length;i++){ if(b[i]==0){ flag = false; break; } } return flag; } // 检查是否是一个五位数 public static boolean checkFive(int[] b){ boolean flag = false; int count = 0; for(int i=0;i<b.length;i++){ if(b[i]==1){ count++; } } if(count==5) flag = true; return flag; } // 得到一个五位数字 public static String values(int[] b){ StringBuffer sb = new StringBuffer(); for(int i=0;i<b.length;i++){ if(b[i]!=0){ sb.append(i); } } return sb.toString(); } // 反转 n public static int reverse(int n){ StringBuffer sb = new StringBuffer(); sb.append(n); sb.reverse(); return Integer.parseInt(sb.toString()); } // 进位得到下一个数字 public static void modify(int[] b){ b[b.length-1]++; for(int i=b.length-1;i>0;i--){ if(b[i]>1){ b[i] = 0; b[i-1]++; } } } public static void calc(String s){ int n = Integer.parseInt(s); // 得到一个五位数字 int r = reverse(n); // 反转 n if(r%n==0) // 得到结果 n * ? = r System.out.println(n+"*"+(r/n)+"="+r); } public static void allSort(char[] c,int start,int end){ char temp = 0; if(start==end){ String s = new String(c); if((s.charAt(0)-'0')!=0){ calc(s); // 计算结果 } }else{ for(int i=start;i<=end;i++){ temp = c[start]; c[start] = c[i]; c[i] = temp; allSort(c,start+1,end); temp = c[start]; c[start] = c[i]; c[i] = temp; } } } public static void f(int[] b){ for(;;){ if(check(b)) break; // 检查是否是全111111... modify(b); // 进位,进行下一个数字的测试 if(!checkFive(b)) continue; // 检查是否是一个五位数字 String s = values(b); // 得到一个五位数字 char[] c = s.toCharArray(); allSort(c,0,c.length-1); // 全排列其中一个五位数,并计算结果 } } public static void main(String[] args){ int[] b = new int[10]; f(b); }
}运行结果:
21978*4=87912
😜微生物增殖
假设有两种微生物 X 和 Y
X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。
如果X=10,Y=90 呢?
本题的要求就是写出这两种初始条件下,60分钟后Y的数目。
题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最后一根稻草!
package Question20_29;
importjava.util.Scanner;
publicclass Question22MustRemember {publicstaticvoid calculate(int primaryNumX,int primaryNumY,int timesOfMinute) {int numX=primaryNumX,numY=primaryNumY;for (int i = 2; i <=timesOfMinute*2; i++) {if(numY<=0){numY=0;break;}if(i%2==0){numY-=primaryNumX;// 当为整数分钟时,最初数目的生物X将进食同等数目的生物Y}elseif(i%2==1){numY-=(numX-primaryNumX); //当为半数分钟的奇数倍时,由最初的生物X增值产生的生物X将进食同等数目的生物Y}if(i%6==0){numX*=2; //三分钟的整数倍,生物X增值一倍}if(i%4==0){numY*=2; //两分钟的整数倍,生物Y增值一倍}}System.out.println(numY);}publicstaticvoid main(String[] args) {calculate(10, 89, 60);calculate(10, 90, 60);
// Scanner scanner=new Scanner(System.in);
// int numX=scanner.nextInt(),numY=scanner.nextInt();
// System.out.println(numX+" "+numY);}
}
运行结果:
-979369984
94371840
94371840
public class Demo01 { public static void microAdd(long x,long y,int m){ for(int i=1;i<=m;i++){ y -= x; // 吃掉x个y if(i%3==0) x *= 2; // 每隔3分钟x分裂一次 if(i%2==0) y *= 2; // 每隔2分钟y分裂一次 } System.out.println(y); } public static void main(String[] args){ microAdd(10,89,60); microAdd(10,90,60); }
} 运行结果:
-979369984
94371840
结果如果是负数应置为0!!
😜密码发生器
在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,
容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了…
这个程序的任务就是把一串拼音字母转换为6位数字(密码)。
我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。
变换的过程如下:
第一步. 把字符串6个一组折叠起来,比如wangximing则变为:
wangxi
ming
第二步. 把所有垂直在同一个位置的字符的ascii码值相加,得出6个数字,如上面的例子,则得出:
228 202 220 206 120 105
第三步. 再把每个数字“缩位”处理:就是把每个位的数字相加,得出的数字如果不是一位数字,
就再缩位,直到变成一位数字为止。例如: 228 => 2+2+8=12 => 1+2=3
上面的数字缩位后变为:344836, 这就是程序最终的输出结果!
要求程序从标准输入接收数据,在标准输出上输出结果。
输入格式为:第一行是一个整数n(<100),表示下边有多少输入行,接下来是n行字符串,就是等待变换的字符串。
输出格式为:n行变换后的6位密码。
例如,输入:
5
zhangfeng
wangximing
jiujingfazi
woaibeijingtiananmen
haohaoxuexi
则输出:
772243
344836
297332
716652
875843
package Question10_19;
import java.util.Scanner;
publicclass Question19 {publicstaticint simplify(int n) {String s;while (n>=10) {s=n+"";n=0;for (int i = 0; i < s.length(); i++) {n+=s.charAt(i)-'0';}}return n;}publicstaticvoid main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();String s;scanner.nextLine();while((n--)>0){int array[]=newint[6];s=scanner.nextLine();for (int i = 0; i < s.length(); i++) {array[i%6]+=(int)(s.charAt(i));}for (int i = 0; i < 6; i++) {System.out.print(simplify(array[i]));}System.out.println();}// System.out.println(simplify(123456789));}
}
运行结果:
输入整数n(<100)表示下边有多少输入行:
5
zhangfeng
wangximing
jiujingfazi
woaibeijingtiananmen
haohaoxuexi
772243
344836
297332
716652
875843
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。
温馨提示:点击下方卡片获取更多意想不到的资源。
相关文章:

蓝桥杯专题-真题版含答案-【古代赌局】【古堡算式】【微生物增殖】【密码发生器】
Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…...

和鲸科技携手深圳数据交易所,“数据+数据开发者生态”赋能人工智能产业发展
信息化时代,数据驱动决策的重要性日益凸显。通过利用数据可以深入了解市场需求、客户行为、竞争态势等关键信息,从而制定更为有效的战略和决策。围绕推动数据要素产业发展,近日,深圳数据交易所(以下简称“深数所”&…...
在MFC(Microsoft Foundation Classes)中 CreateThread函数
CreateThread是Windows API中用于创建新线程的函数。以下是对函数参数的详细解释: lpThreadAttributes(可选):指向SECURITY_ATTRIBUTES结构的指针,用于指定线程的安全性。可以设置为NULL,表示使用默认安全…...

Ubuntu 常用命令之 ls 命令用法介绍
Ubuntu ls 命令用法介绍 ls是Linux系统下的一个基本命令,用于列出目录中的文件和子目录。它有许多选项可以用来改变列出的内容和格式。 以下是一些基本的ls命令选项 -l:以长格式列出文件,包括文件类型、权限、链接数、所有者、组、大小、最…...

【解决】Windows 11检测提示电脑不支持 TPM 2.0(注意从DTPM改为PTT)
win11升级,tpm不兼容 写在最前面1. 打开电脑健康状况检查2. 开启tpm3. 微星主板AMD平台开启TPM2.0解决电脑健康状况检查显示可以安装win11,但是系统更新里显示无法更新 写在最前面 我想在台式电脑上用win11的专注模式,但win10不支持 1. 打…...

ChatGPT 也宕机了?如何预防 DDOS 攻击的发生
最近,开发人工智能聊天机器人的公司 OpenAI 遭受了一次规模较大的分布式拒绝服务(DDoS)攻击,导致其旗下的 ChatGPT 服务在短短 12 小时内遭遇了 4 次断网,众多用户遭受了连接失败的问题。 这次攻击事件引起了广泛的关…...

wireshark下载安装
下载 Wireshark Download 等待下载完成 安装 双击 下面的一定垚勾选上 下图的也一定要勾选上 修改为不重启,不需要重启也是正常的...

如何退回chrome旧版ui界面?关闭Chrome浏览器新 UI 界面
之前启用新UI的方式 Chrome 已经很久没有进行过大的样式修改,但近期在稳定分支中添加了新的 flags 实验性标志,带来了全新的设计与外观,启用方式如下: 在 Chrome 浏览器的搜索栏中输入并访问 chrome://flags 搜索“refresh 2023…...

指针进阶篇
指针的基本概念: 指针是一个变量,对应内存中唯一的一个地址指针在32位平台下的大小是4字节,在64位平台下是8字节指针是有类型的,指针类型决定该指针的步长,即走一步是多长指针运算:指针-指针表示的是两个指…...
C语言之单链表理解与应用
其实网上有好多关于单链表理解,其实知乎上有一篇写的很好,利用图形与代码结合,我觉得写的很好,大家也可以去查一下,每个人都有自己的想法与理解,这里主要看单链表概念,应用场景,举例…...

SpringBoot对PDF进行模板内容填充、电子签名合并
1. 依赖引入–这里只包含额外引入的包 原有项目包不含括在内 <!-- pdf编辑相关--> <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.3</version> </dependency><de…...

Vue3快速上手笔记
Vue3快速上手 1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王)耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址:https://github.com/vuejs/vue-next/release…...

LLM中的Prompt提示
简介 在LLM中,prompt(提示)是一个预先设定的条件,它可以限制模型自由发散,而是围绕提示内容进行展开。输入中添加prompt,可以强制模型关注特定的信息,从而提高模型在特定任务上的表现。 结构 …...

【算法Hot100系列】最长回文子串
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

KaiwuDB × 国网山东综能 | 分布式储能云边端一体化项目建设
项目背景 济南韩家峪村首个高光伏渗透率台区示范项目因其所处地理位置拥有丰富的光照资源,该区域住户 80% 以上的屋顶都安装了光伏板。仅 2022 年全年,光伏发电总量达到了百万千瓦时。 大量分布式光伏并网,在输出清洁电力的同时,…...
elasticsearch查询出现Limit of total fields 1000 has been exceeded
项目场景: 在项目中使用elasticsearch保存日志等相关数据,查询页面查询这些日志数据 问题描述 提示:这里描述项目中遇到的问题: 今天在检查日志数据时,发现数据出不来,检查后端日志,发现一直…...

TCP/IP详解——DHCP 协议
文章目录 1. DHCP 协议1.1 DHCP 概念1.2 DHCP 原理1.3 DHCP 续约1.4 DHCP 报文种类1.5 DHCP 报文格式1.6 DHCP 协议抓包分析1.6.1 Wireshark 抓包查看1.6.2 CSNAS 抓包分析 1.7 DHCP 的 Option1.8 思考 1. DHCP 协议 1.1 DHCP 概念 DHCP协议称为动态主机配置协议。 DHCP作用…...
牛客后端开发面试题3
阿里巴巴2021 1、通配符的含义 在字符串匹配时可以代替一定范围的字符。 2、死锁的基本知识 产生死锁的原因: 1.系统资源不足 2.进程运行推进方式不合理 3.分配资源不合理 (把幼儿园老师比作操作系统,幼儿园里的玩具比作系统资源,…...

Postman-脚本自动化及定时执行脚本(7)
一.postman脚本自动化(从postman至Newman可以一键执行脚本并生成报告:) Postman Newman 是一个 CLI(命令行界面)工具,可以使用它来运行 Postman 中的集合(Collection)和环境…...

基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目
演示视频: 基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...

html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...