当前位置: 首页 > news >正文

蓝桥杯每日一题----唯一分解定理

唯一分解定理

1.内容

任何一个大于1的整数n都可以分解成若干个质数的连乘积,如果不计各个质数的顺序,那么这种分解是惟一的,即若n>1,则有
n = ∏ p i j n=\prod{p^j_i} n=pij
这里的 p i p_i pi是质数。可以进行简单证明,假设 p i p_i pi是合数,那么它可以接着分解为两个数相乘的形式,所以最后 p i p_i pi一定是质数。

2.唯一分解定理模板代码

模板代码其实也是唯一分解定理的直接应用,给一个整数n,问有多少个质数是n的约数。这里就需要进行分解,也就是用到了唯一分解定理,我们直接上代码,然后逐一解释难懂的地方。

import java.util.Scanner;public class Main {
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);long n = scanner.nextLong();int ans = 0;for (int i = 2; i <= Math.sqrt(n); i++) {if(n%i==0) ans++;while(n%i == 0) {n = n / i;}}if(n > 1) {ans++;}System.out.println(ans);
}
}
  1. 一般n可能给的很大,注意最好用long类型

  2. 我们如果要求一个数的因数,会从1开始遍历进行试除,那么应该遍历到哪里呢?是n吗?其实遍历到 n \sqrt{n} n 就可以了。因为如果找到了一个因子为a,那么大于 n \sqrt{n} n 的另一个因子就是n/a

  3. 很明显这个for循环我们是在采用试除法来求n的因子,但是我们如何保证求到的因子是质因子呢?这就是里面的while循环的作用了。给大家举个例子,n=36,6是它的因子,但是不是质因子,那么我们会不会遍历到它呢?i=2时,在while循环里就把36里的所有2都除没了,此时n=9。i=3时,在while循环里就把36里的所有3都除没了,此时n=1。那么此时的n里面已经不包含6了,因为6是由2和3构成的,在遍历到6之前,n里的所有的2和3都没有了,自然也就没有6了。这就是while循环的作用,他保证了我们找到的因子一定是质数。

    抽象一点证明,假设q是合数且是n的因子,因为q是合数所有可以被表示成 q = p 1 ∗ p 2 q=p_1*p_2 q=p1p2,而 p 1 p_1 p1 p 2 p_2 p2一定比q小,那么他们一定会在while里面被除去,因此遍历到q时不再包含它们,自然也不会有q。

  4. 最后一个地方,为什么在代码的最后要加一个if判断呢?还是给大家举一个例子,比如n=396,i=2时,n=99。n=3时,n=11。当i=4时i> n \sqrt{n} n ,所以for循环退出了。但是你也可以发现,11也是n的一个质因子,所以我们在最后要判断一下,防止把这种情况漏了。

练习题目

3.应用

(1)求正整数n的正因子个数

假设n的分解公式如下,
n = p 0 j 0 ∗ p 1 j 1 ∗ p 2 j 2 . . . ∗ p k j k n=p^{j_0}_0*p^{j_1}_1*p^{j_2}_2...*p^{j_k}_k n=p0j0p1j1p2j2...pkjk
则n的因子个数为 ( j 0 + 1 ) ∗ ( j 1 + 1 ) ∗ ( j 2 + 1 ) . . . ∗ ( j k + 1 ) (j_0+1)*(j_1+1)*(j_2+1)...*(j_k+1) (j0+1)(j1+1)(j2+1)...(jk+1)个。

简单理解一下,对于 2 3 ∗ 3 2 ∗ 5 3 2^{3}*3^{2}*5^{3} 233253来说,可以选择一个2,其余质因子不选,则2是其因子,也可以选择两个2和一个3,则12是其因子,总的来说,假设n包含m个质因子p,则对于p我有m+1中选择,即[0,m]。

做个类比,我有红球3个,绿球5个,他们共有多少种不同的组合,肯定是46吧,那么n的因子个数为 ( j 0 + 1 ) ∗ ( j 1 + 1 ) ∗ ( j 2 + 1 ) . . . ∗ ( j k + 1 ) (j_0+1)*(j_1+1)*(j_2+1)...*(j_k+1) (j0+1)(j1+1)(j2+1)...(jk+1)同理。

模板代码如下,

import java.util.Scanner;public class 约数个数 {
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);long n = 1200000;int ans = 1;for (int i = 2; i <= Math.sqrt(n); i++) {int cnt = 0;while(n%i == 0) {n = n / i;cnt++;}ans *=(cnt+1);}if(n > 1) {ans *= 2;}System.out.println(ans);
}
}

练习题目

(2)求正整数n的所有正因子之和

假设n的分解公式如下,
n = p 0 j 0 ∗ p 1 j 1 ∗ p 2 j 2 . . . ∗ p k j k n=p^{j_0}_0*p^{j_1}_1*p^{j_2}_2...*p^{j_k}_k n=p0j0p1j1p2j2...pkjk
则n的所有正因子之和为 s u m = ( p 0 0 + p 0 1 + . . . + p 0 j 0 ) ∗ ( p 1 0 + p 1 1 + . . . + p 1 j 1 ) ∗ . . . ∗ ( p k 0 + p k 1 + . . . + p k j k ) sum=(p_0^0+p_0^1+...+p_0^{j_0})*(p_1^0+p_1^1+...+p_1^{j_1})*...*(p_k^0+p_k^1+...+p_k^{j_k}) sum=(p00+p01+...+p0j0)(p10+p11+...+p1j1)...(pk0+pk1+...+pkjk)个。

这里如果正向推导的话不是很简单,其实对于 p 0 0 p_0^0 p00而言,能够和它相乘成为n的因子的数为 p 1 p_1 p1的幂次里选一个幂次, p 2 p_2 p2的幂次里选一个幂次… p k p_k pk的幂次里选一个幂次,当然对于 p i p_i pi的幂次都会被选择,只是不是同时被选择,既然不是同时,就把他们写成加法,式子 p 0 0 ∗ ( p 1 0 + p 1 1 + . . . + p 1 j 1 ) p_0^0*(p_1^0+p_1^1+...+p_1^{j_1}) p00(p10+p11+...+p1j1)表示的是从 p 1 p_1 p1的所有幂次里进行选择与 p 0 0 p_0^0 p00组成一个因子,扩展到其它质数就是 p 0 0 ∗ ( p 1 0 + p 1 1 + . . . + p 1 j 1 ) ∗ . . . ∗ ( p k 0 + p k 1 + . . . + p k j k ) p_0^0*(p_1^0+p_1^1+...+p_1^{j_1})*...*(p_k^0+p_k^1+...+p_k^{j_k}) p00(p10+p11+...+p1j1)...(pk0+pk1+...+pkjk),然后再找对于 p 0 1 p_0^1 p01能够和它相乘成为n的因子的数,可以表示为 p 0 1 ∗ ( p 1 0 + p 1 1 + . . . + p 1 j 1 ) ∗ . . . ∗ ( p k 0 + p k 1 + . . . + p k j k ) p_0^1*(p_1^0+p_1^1+...+p_1^{j_1})*...*(p_k^0+p_k^1+...+p_k^{j_k}) p01(p10+p11+...+p1j1)...(pk0+pk1+...+pkjk),把 p 0 p_0 p0的所有幂次都考虑到就是 ( p 0 0 + p 0 1 + . . . + p 0 j 0 ) ∗ ( p 1 0 + p 1 1 + . . . + p 1 j 1 ) ∗ . . . ∗ ( p k 0 + p k 1 + . . . + p k j k ) (p_0^0+p_0^1+...+p_0^{j_0})*(p_1^0+p_1^1+...+p_1^{j_1})*...*(p_k^0+p_k^1+...+p_k^{j_k}) (p00+p01+...+p0j0)(p10+p11+...+p1j1)...(pk0+pk1+...+pkjk)

4.进阶题目

阶乘约数

问题描述
定义阶乘 n! = 1 × 2 × 3 × ··· × n。

请问 100! (100 的阶乘)有多少个约数。

答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

题目分析

这是蓝桥杯国赛的一道原题。求一个数的约数个数可以用唯一分解定理在 O ( n ) O(\sqrt{n}) O(n )的时间复杂度内求解。但是100的阶乘确实有点大了,你要是把100的阶乘求出来再去求会超时,并且这个数的存储也是一个问题,当然用java的大整数是可以存的。

这里只能舍弃掉求100的阶乘再求它的约数个数的思路,那应该怎么求呢?回顾一下利用唯一分解定理求解约数个数的过程,先对数字n进行质因数分解,得到式子 n = p 0 j 0 ∗ p 1 j 1 ∗ p 2 j 2 . . . ∗ p k j k n=p^{j_0}_0*p^{j_1}_1*p^{j_2}_2...*p^{j_k}_k n=p0j0p1j1p2j2...pkjk,然后可以求得n的因子个数为 ( j 0 + 1 ) ∗ ( j 1 + 1 ) ∗ ( j 2 + 1 ) . . . ∗ ( j k + 1 ) (j_0+1)*(j_1+1)*(j_2+1)...*(j_k+1) (j0+1)(j1+1)(j2+1)...(jk+1)。其实我们只需要知道数字n里面包含几个 p i p_i pi即可。对于 100 ! = 1 ∗ 2 ∗ 3 ∗ 4... ∗ 100 100!=1*2*3*4...*100 100!=1234...100,我们可以计算出2里面包含数字2的个数为 a 1 a_1 a1,3里面包含数字2的个数为 a 2 a_2 a2,4里面包含数字2的个数为 a 3 a_3 a3,5里面包含数字2的个数为 a 4 a_4 a4,以此类推直到求到100,那么100!里面包含数字2的个数就是 a 1 + a 2 + a 3 . . . a 99 a_1+a_2+a_3...a_{99} a1+a2+a3...a99。综上我们可以依次对1到100里面的每一个数进行质因数分解,得到的值累加就可以了,最终就可以求出来100进行质因子分解的结果。然后再按照求因子个数的方法进行求解就可以了。

题目代码

public class Main {
public static void main(String[] args) {int p[] = new int[105];for(int i = 2;i <= 100;i++) {int n = i;for(int j = 2;j * j <= n;j++) {while(n%j==0) {p[j]++;n/=j;}}if(n > 0) p[n]++;}long ans = 1;for(int i = 2;i <= 100;i++) {ans *= (p[i]+1);}System.out.println(ans);
}
}

序列求和

问题描述
学习了约数后,小明对于约数很好奇,他发现,给定一个正整数 t,总是可
以找到含有 t 个约数的整数。小明对于含有 t 个约数的最小数非常感兴趣,并
把它定义为 S t S_t St
例如 S 1 S_1 S1 = 1, S 2 S_2 S2 = 2, S 3 S_3 S3 = 4, S 4 S_4 S4 = 6,···。
现在小明想知道,前 60 个 S i S_i Si 的和是多少?即 S 1 + S 2 + ⋅ ⋅ ⋅ + S 60 S_1 + S_2 + ··· + S_{60} S1+S2+⋅⋅⋅+S60 是多少?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

题目分析1

这也是蓝桥杯国赛的一道真题。参考题解

考虑一下i=12时怎么求解 S i S_i Si

12 = 6 ∗ 2 12=6*2 12=62 S i = 2 5 ∗ 3 1 S_i=2^5*3^1 Si=2531

12 = 3 ∗ 2 ∗ 2 12=3*2*2 12=322 S i = 2 3 ∗ 3 1 ∗ 5 1 S_i=2^3*3^1*5^1 Si=233151

12 = 4 ∗ 3 12=4*3 12=43 S i = 2 3 ∗ 3 2 S_i=2^3*3^2 Si=2332

12 = 2 ∗ 2 ∗ 3 12=2*2*3 12=223 S i = 2 1 ∗ 3 1 ∗ 5 2 S_i=2^1*3^1*5^2 Si=213152

假设数字n的因数个数有12个,那么根据12的分解结果,可以推出来 S i S_i Si的值(每个乘数间1就是要求的数分解后的质数的幂次),但是这个值并不是唯一的,不同的分解结果有不同的值,同一个分解结果不同的幂次分配方式也对应不同的值。比如 12 = 2 ∗ 2 ∗ 3 12=2*2*3 12=223这种分解结果,如果想要n的值比较小,那么就把这几个数字分配到前3小的质数上,即 S i = 2 1 ∗ 3 1 ∗ 5 2 S_i=2^1*3^1*5^2 Si=213152。但是这不是最理想的分配方式。我们将3,2,2降序排序,再减一为2,1,1,那么显然 S i = 2 2 ∗ 3 1 ∗ 5 1 S_i=2^2*3^1*5^1 Si=223151要比之前求的 S i = 2 1 ∗ 3 1 ∗ 5 2 S_i=2^1*3^1*5^2 Si=213152更小。

总结一下这道题的解题步骤,对于 S i S_i Si,我们dfs搜出i所有的分解情况,然后按照刚刚的办法即对分解降序后求出 S i S_i Si。这样一种分解对应一个值,所有的分解对应的值里面求最小值就是 S i S_i Si

另外,特判因子数为质数,比如因子数是13,减一是12,这个幂次全部分配给2就是我们要找的最小数。

题目代码1

import java.math.BigInteger;
public class Main {static int n=10000;static int  prime[]=new int[n];static int index=0;static BigInteger endBigInteger=new BigInteger("99999999999999999999999999999999999");public static void main(String[] args) {int vis[]=new int[n];for (int i = 2; i <n; i++) {if (vis[i]==0) {prime[index]=i;index++;for (int j = i*i; j <n; j+=i) {vis[j]=1;}}}BigInteger sumBigInteger=new BigInteger("0");for (int i = 1; i <=60; i++) {int vis1[]=new int[i+1];dfs(i,i,0,vis1);sumBigInteger=sumBigInteger.add(endBigInteger);endBigInteger=new BigInteger("99999999999999999999999999999999999");}System.out.println(sumBigInteger);}static void dfs(int Snum,int mid,int start,int vis[]) {if (mid==1) {if (endBigInteger.compareTo(loop(Snum, vis))==1) {endBigInteger=loop(Snum, vis);}return;}for (int i = 2; i <=mid; i++) {if (mid%i==0) {vis[i]++;dfs(Snum,mid/i, start, vis);dfs(Snum,mid/i, start+1, vis);vis[i]--;}}}static BigInteger loop(int num,int vis[]) {int vis2[]=new int[vis.length];for (int i = 0; i < vis.length; i++) {vis2[i]=vis[i];}int index2=0;BigInteger sumBigInteger=new BigInteger("1");for (int i =vis2.length-1; i>0; i--) {if (vis2[i]>0) {sumBigInteger=sumBigInteger.multiply(new BigInteger(prime[index2++]+"").pow(i-1));vis2[i]--;i=i+1;}}return sumBigInteger;}
}

题目分析2

刚刚的分析是比较正规但是也比较麻烦的思路,这道题还有另外一种讨巧的思路。 S i S_i Si最多由4个质数构成,要使值最小那么这4个质数必然是2,3,5,7。我只需要枚举2,3,5,7对应的幂次就可以了。在枚举的过程中记录当前有t个约数的值,和之前记录的值取一个最小。最后求和输出就行。

题目代码2

import java.util.*;
public class Main {static int testCount=60;static int ii=100;static long result[]=new long[61];public static void main(String[] args) {for (int a4 = 0; a4 <= ii; a4++) {for (int a3 = 0; a3 <= ii; a3++) {for (int a2 = 0; a2 <= ii; a2++) {for (int a1 = 0; a1 <= ii; a1++) {int t=(a1+1)*(a2+1)*(a3+1)*(a4+1);if(t<=60) {long single=(long) (Math.pow(2, a1)*Math.pow(3, a2)*Math.pow(5, a3)*Math.pow(7, a4));if(single<result[t] || result[t]==0) {result[t]=single;}}}}}}long sum=0;for (int i = 1; i <= testCount; i++) {sum+=result[i];}System.out.println(sum);}
}

相关文章:

蓝桥杯每日一题----唯一分解定理

唯一分解定理 1.内容 任何一个大于1的整数n都可以分解成若干个质数的连乘积&#xff0c;如果不计各个质数的顺序&#xff0c;那么这种分解是惟一的&#xff0c;即若n>1&#xff0c;则有 n ∏ p i j n\prod{p^j_i} n∏pij​ 这里的 p i p_i pi​是质数。可以进行简单证明…...

openssl3.2 - osslsigncode工程的学习

文章目录 openssl3.2 - osslsigncode工程的学习概述笔记工程库地址工程的编译osslsigncodeM工程文件列表osslsigncodeM工程搭建细节原始工程实现的改动自己封装的包含openssl和curl的实现osslsigncodeM工程命令行的用法备注 - VS2019调试环境备注 - 如果要单步openssl的API学学…...

HTML 超文本标记语言

超文本标记语言 HTML 在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。 页面制作的标准语言&#xff1a;HTML。 超文本标记语言 HTML (HyperText Markup Language) 是一种制作万维网页面的标准语言&#xff0c;它消除了不同计算机之间信息交流的障碍&#xff0c…...

sklearn:机器学习 分类特征编码category_encoders

文章目录 category_encoders简介OrdinalEncoder 序列编码OneHotEncoder 独热编码TargetEncoder 目标编码Binary Encoder 二进制编码BaseNEncoder 贝叶斯编码LeaveOneOutEncoder 留一法HashingEncoder 哈希编码CatBoostEncoder catboost目标编码CountEncoder 频率编码WOEEncoder…...

C++错误[错误] call of overloaded ‘min(int, int)‘ is ambiguous

错误代码&#xff1a; #include<iostream> using namespace std;template <class T> T min(T x,T y){if(x<y){return x;}else return y; }int main(){int n12,n210;double d11.5,d25.6;cout<<min(n1,n2)<<endl;cout<<min(d1,d2)<<endl…...

2024全栈元年-thinkphp-数据操作

thinkphp 数据相关操作 1.单数据查询 1、单数据查询 ,Db::table(‘tp_stu’) 必须加前缀 2、如果只是查询符合条件的使用where find,如果没有符合条件的返回null 3、使用 findOrFail 没有数据会抛出异常 4、使用 findOrEmpty 没有数据会返回【】 5、得到最近一个原生SQL …...

HTML世界之第二重天

目录 一、HTML 格式化 1.HTML 文本格式化标签 2.HTML "计算机输出" 标签 3.HTML 引文, 引用, 及标签定义 二、HTML 链接 1.HTML 链接 2.HTML 超链接 3.HTML 链接语法 4.文本链接 5.图像链接 6.锚点链接 7.下载链接 8.Target 属性 9.Id 属性 三、HTML …...

社区经营的好处与优势:为何越来越多的人选择社区店?

社区店&#xff0c;这个曾经被视为小型、局限的商业模式&#xff0c;如今正逐渐崭露头角&#xff0c;成为众多创业者和消费者的首选。 特别是在鲜奶吧这样的细分市场中&#xff0c;社区店更是展现出了其独特的魅力和优势。作为一名拥有五年鲜奶吧经营经验的创业者&#xff0c;…...

C语言系列1——详解C语言:变量、常量与数据类型

目录 写在开始1. 变量与常量的概念1.1. 变量1.2. 常量1.3. 变量与常量的比较1.4. 选择变量还是常量 2. C语言中的基本数据类型2.1. 整型&#xff08;Integer Types&#xff09;2.2. 浮点型&#xff08;Floating-Point Types&#xff09;2.3. 字符型&#xff08;Character Type&…...

WordPress修改所有用户名并发送邮件通知的插件Easy Username Updater

前面跟大家介绍了『如何修改WordPress后台管理员用户名&#xff1f;推荐2种简单方法』一文&#xff0c;但是对于有很多用户的站长来说&#xff0c;操作有点复杂&#xff0c;而且无法发邮件通知对方&#xff0c;所以今天boke112百科向大家推荐一款可以直接在WordPress后台修改所…...

C语言中的数据类型-强转

强制类型转换 概念&#xff1a;将某种类型的数据转化我们需要的数据类型&#xff0c;注意强制类型转化是临时强转&#xff0c;不会改变本身的数据类型。 强转又分为显式强转和隐式转化 显示强转是按照我们的要求进行转化 格式&#xff1a;(需要转化数据类型)变量名 #inclu…...

大数据可视化BI分析工具Apache Superset结合内网穿透实现远程访问

文章目录 前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网穿透&#xff0c;实现公网访问3. 设置固定连接公网地址 前言 Superset是一款由中国知名科技公司开源的“现代化的…...

C# 线程与线程池的使用方法、注意事项

在C#中&#xff0c;线程和线程池是两种用于实现多线程编程的方式。线程用于执行并发任务&#xff0c;而线程池提供了一种更有效率的方式来管理和复用线程资源。 C# 线程&#xff08;System.Threading.Thread&#xff09; 创建和启动线程&#xff1a; Thread thread new Thre…...

2024年华为OD机试真题-按身高和体重排队-Python-OD统一考试(C卷)

题目描述: :某学校举行运动会,学生们按编号(1、2、3…n)进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列;对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号。 输入描述:两个序列,每个序列由n个正整数组成(0 < n …...

openGauss学习笔记-218 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-I/O

文章目录 openGauss学习笔记-218 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-I/O218.1 查看I/O状况218.2 性能参数分析 openGauss学习笔记-218 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-I/O 获取openGauss节点的CPU、内存、I/O和网络资源使用情况&#xf…...

去除vue自带的边距

使用vue时发现总有去不掉的外边距&#xff0c;在index.vue里面怎样设置样式都不管用 查阅资料后发现要在vue项目自带的index.html文件内添加下面的样式代码才行 <style>*{margin: 0;padding: 0;}body,html{margin: 0;padding: 0;} </style>...

ElasticSearch级查询Query DSL上

目录 ES高级查询Query DSL match_all 返回源数据_source 返回指定条数size 分页查询from&size 指定字段排序sort 术语级别查询 Term query术语查询 Terms Query多术语查询 exists query ids query range query范围查询 prefix query前缀查询 wildcard query通…...

120.乐理基础-五线谱-五线谱的多声部与指法问题

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;119.乐理基础-五线谱-五线谱的标记-CSDN博客 五线谱多声部与简谱的多声部一样&#xff1a;简谱的多声部 五线谱多声部例子&#xff1a;钢琴谱 另一个例子&#xff1a;在纵向上有多个音符 然后放大之后&#xff0c…...

YOLOv5独家改进:上采样算子 | 超轻量高效动态上采样DySample,效果秒杀CAFFE,助力小目标检测

💡💡💡本文独家改进:一种超轻量高效动态上采样DySample, 具有更少的参数、FLOPs,效果秒杀CAFFE和YOLOv5网络中的nn.Upsample 💡💡💡在多个数据集下验证能够涨点,尤其在小目标检测领域涨点显著。 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/cate…...

洛谷 P1102 A-B 数对 (Java)

洛谷 P1102 A-B 数对 (Java) 传送门&#xff1a;P1102 A-B 数对 题目&#xff1a; A-B 数对 题目背景 出题是一件痛苦的事情&#xff01; 相同的题目看多了也会有审美疲劳&#xff0c;于是我舍弃了大家所熟悉的 AB Problem&#xff0c;改用 A-B 了哈哈&#xff01; 题目描…...

情人节到了,写一份爱心程序(python)

前言 情人节到了&#xff0c;写一份爱心代码给喜欢的人呀 公式 首先我们介绍下爱心的公式的参数方程&#xff1a; x 16 s i n 3 ( t ) x 16sin^3(t) x16sin3(t) y 13 c o s ( t ) − 5 c o s ( 2 t ) − 2 c o s ( 3 t ) − c o s ( 4 t ) y 13cos(t) - 5cos(2t) - 2co…...

Java图形化界面编程—— 基本组件和对话框 笔记

2.5 AWT中常用组件 2.5.1 基本组件 组件名功能ButtonButtonCanvas用于绘图的画布Checkbox复选框组件&#xff08;也可当做单选框组件使用&#xff09;CheckboxGroup选项组&#xff0c;用于将多个Checkbox 组件组合成一组&#xff0c; 一组 Checkbox 组件将只有一个可以 被选中…...

使用Docker,拉取Nginx镜像,创建并运行Nginx容器

查看DockerHub&#xff0c;拉取Nginx镜像&#xff0c;创建并运行Nginx容器。 在DockerHub中搜索Ningx镜像&#xff0c;查看镜像名称 拉取Nginx镜像 [rootservice ~]# systemctl start docker [rootservice ~]# mkdir -p /etc/docker [rootservice ~]# tee /etc/docker/daemo…...

InstantBox:开箱即用的临时 Linux 环境

在云计算和虚拟化技术日益成熟的今天&#xff0c;我们有时需要一个快速、简单、临时的 Linux 环境来进行各种任务。这就是 InstantBox 的用武之地。 什么是 InstantBox&#xff1f; InstantBox 是一个开源项目&#xff0c;它可以快速启动临时的 Linux 系统&#xff0c;并提供…...

【面试】国家公务员考试复试,面试内容准备方向(非技术面试考察点)

【面试】国家公务员考试复试&#xff0c;面试内容准备方向&#xff08;非技术面试考察点&#xff09; 说明&#xff1a; csdn无法发部分考试相关例题&#xff08;提示涉z&#xff09;&#xff0c;所以本文主要还是针对评分标准和仪表等相关因素。 文章目录 1、面试试卷与评分1.…...

点餐|外卖订餐小程序|基于微信小程序的外卖订餐系统设计与实现(源码+数据库+文档)

点餐|外卖订餐小程序目录 目录 基于微信小程序的外卖订餐系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户微信端功能模块 2、管理员服务端功能模块 3、商家务端功能模块 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设…...

使用Cargo创建、编译与运行Rust项目

在 Rust 开发中&#xff0c;Cargo 是一个非常重要的工具&#xff0c;它负责项目的构建、管理和依赖管理。以下是如何使用 Cargo 创建、编译和运行 Rust 项目的详细步骤。 1. 创建新项目 首先确保你已经在计算机上安装了 Rust 和 Cargo。然后&#xff0c;在命令行中输入以下命…...

Js中toFixed(2)精度问题的原因及解决办法

toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。例如将数据Num保留2位小数&#xff0c;则表示为&#xff1a;toFixed(Num)&#xff1b;但是其四舍五入的规则与数学中的规则不同&#xff0c;使用的是银行家舍入规则&#xff0c;银行家舍入&#xff1a;所谓银行家舍入…...

【医学大模型 知识增强】SMedBERT:结构化语义知识 + 医学大模型 = 显著提升大模型医学文本挖掘性能

SMedBERT&#xff1a;结构化语义知识 医学大模型 显著提升医学文本挖掘任务性能 名词解释结构化语义知识预训练语言模型医学文本挖掘任务 提出背景具体步骤提及-邻居混合注意力机制实体嵌入增强实体描述增强三元组句子增强 提及-邻居上下文建模域内词汇权重学习领域自监督任务…...

Python爬虫:安全与会话管理

源码分享 ​​https://docs.qq.com/sheet/DUHNQdlRUVUp5Vll2?tabBB08J2​​ 在进行网站数据抓取时&#xff0c;会话管理是保持与目标网站通信连续性的一种机制。这对于模拟登录、保持用户状态、维护cookie等场景至关重要。同时&#xff0c;安全性也是我们不可忽视的一个方面…...

[Python进阶] 识别验证码

11.3 识别验证码 我们再开发某些项目的时候&#xff0c;如果遇到要登录某些网页&#xff0c;那么会经常遇到输入验证码的情况&#xff0c;而每次人工输入验证码的话&#xff0c;比较浪费时间。于是&#xff0c;可以通过调用某些接口进行识别。 11.3.1 调用百度文字识别接口 …...

华为问界M9:全方位自动驾驶技术解决方案

华为问界M9的自动驾驶技术采用了多种方法来提高驾驶的便利性和安全性。以下是一些关键技术&#xff1a; 智能感知系统&#xff1a;问界M9配备了先进的传感器&#xff0c;包括高清摄像头、毫米波雷达、超声波雷达等&#xff0c;这些传感器可以实时监测车辆周围的环境&#xff0…...

Java 与 JavaScript 的区别与联系

Java 和 JavaScript 两种编程语言在软件开发中扮演着重要的角色。尽管它们都以“Java”命名&#xff0c;但实际上它们是完全不同的语言&#xff0c;各有其独特的特点和用途。本文将深入探讨 Java 和 JavaScript 的区别与联系&#xff0c;帮助大家更好地理解它们在编程世界中的作…...

React18原理: 时间分片技术选择

渲染1w个节点的不同方式 1 &#xff09;案例1&#xff1a;一次渲染1w个节点 <div idroot><div><script type"text/javascript">function randomHexColor() {return "#" ("0000" (Math.random() * 0x1000000 << 0).toS…...

【QT+QGIS跨平台编译】之三十三:【SpatiaLite+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、SpatiaLite介绍二、文件下载三、文件分析四、pro文件五、编译实践一、SpatiaLite介绍 SpatiaLite是一个开源的空间数据库库,它是在SQLite关系数据库管理系统上扩展而来的。SpatiaLite提供了对地理空间数据的存储、查询和分析功能,使得开发人员可以在应用程序中…...

【JavaEE】_CSS选择器

目录 1. 基本语法格式 2. 引入方式 2.1 内部样式 2.2 内联样式 2.3 外部样式 3. 基础选择器 3.1 标签选择器 3.2 类选择器 3.3 ID选择器 4. 复合选择器 4.1 后代选择器 4.2 子选择器 4.3 并集选择器 4.4 伪类选择器 1. 基本语法格式 选择器若干属性声明 2. 引入…...

Flaurm实现中文搜索

目录 摘要需求本文涉及环境情况如下解决方案最终效果文章其他链接&#xff1a; 摘要 Flarum本身对中文支持并不理想&#xff0c;但随着版本更新&#xff0c;逐渐加强了对中文的优化。然而在1.8.5版本&#xff0c;却还是不支持中文搜索网站文章内容。作者在检索了全网教程&#…...

STM32自学☞定时器外部时钟案例

本案例主要是通过外部时钟实现对射式红外传感器的计次&#xff0c;在oled显示屏上显示CNT的次数 timer_interrupt.c文件 #include "stm32f10x.h" #include "stm32f10x_tim.h" #include "timer_interrupt.h" #include "stdint.h" …...

PyCharm中无法调用ffmpeg命令行

问题前提 ffmpeg在系统中正确安装&#xff0c;且在cmd命令行可以正确使用。但在PyCharm中无法调用&#xff01; 但是在外部系统cmd中使用确是正常的~ 问题关键 我的python解释器使用的是anaconda的虚拟环境&#xff0c;导致在外部环境配置的path路径没有包括在内 解决办法…...

Go基础知识学习-习题题解

这里给出来官方教程中部分题目的答案&#xff0c;都是自己练习的时候写的&#xff0c;可以参考来提供思路。 当然了&#xff0c;练习还是最好自己写&#xff0c;要不对相关的知识点不可能理解透彻。 Exercise: Loops and Functions package mainimport ("fmt" )fu…...

MyBatis中的XML实现和动态SQL实现

文章目录 一、XML实现1.1增1.2删1.3查1.4改 二、XML方式实现动态SQL2.1if标签2.2trim标签2.3where标签2.4set标签2.5foreach标签2.6include标签和sql标签 一、XML实现 先在新建的XML文件中写入如下内容&#xff1a; <?xml version"1.0" encoding"UTF-8&qu…...

clickhouse计算前后两点间经纬度距离

问题 计算如图所示前后两点经纬度的距离&#xff1f; 方法 1、用开窗函数将如图所示数据下移一行 selectlongitude lon1,latitude lat1,min(longitude) over(order by time1 asc rows between 1 PRECEDING and 1 PRECEDING) lon2,min(latitude) over(order by time1 asc row…...

【51单片机】DS18B20(江科大)

一、DS18B20温度传感器 1.DS18B20介绍 DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点 测温范围 :- 55℃到125℃ 通信接口:1-Wire(单总线) 其它特征:可形成…...

Windows平台git clone文件路径太长报错

问题描述 在Windows下拉取一些比较大的开源项目经常会提示文件路径太长&#xff08;filename too long&#xff09;&#xff0c;然后死活都不成功 解决办法 1.配置git git config --system core.longpaths true2.修改文件C:\Program Files\Git\etc\gitconfig&#xff08;需…...

中科大计网学习记录笔记(十):P2P 应用

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…...

Python算法题集_LRU 缓存

Python算法题集_LRU 缓存 题146&#xff1a;LRU 缓存1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【队列字典】2) 改进版一【有序字典】3) 改进版二【双向链表字典】 4. 最优算法 本文为Python算法题集之一的代码示例 题146&#xff1a;LRU …...

局部加权回归

局部加权回归&#xff08;Local Weighted Regression&#xff09;是一种非参数回归方法&#xff0c;用于解决线性回归模型无法很好拟合非线性数据的问题。它通过给不同的样本赋予不同的权重&#xff0c;使得在拟合模型时更加关注靠近目标点附近的样本数据。 局部加权回归的基本…...

国内国外最好的数据恢复软件评测,哪种数据恢复软件最有效?

随着数字和商业格局在多个领域不断发展&#xff0c;变得更加依赖数据&#xff0c;威胁数据的努力也同样存在。 计算机病毒、勒索软件和恶意软件是导致数据丢失的主要威胁&#xff0c;可能会让您的组织陷入停机或严重影响您的工作效率。而解决这个问题的方法就是数据恢复。 什么…...

bugku 1

Flask_FileUpload 文件上传 先随便传个一句话木马 看看回显 果然不符合规定 而且发现改成图片什么的都不行 查看页面源代码&#xff0c;发现提示 那应该就要用python命令才行 试试ls 类型要改成图片 cat /flag 好像需要密码 bp爆破 根据提示&#xff0c;我们先抓包 爆破 …...

C++ bfs再探迷宫游戏(五十五)【第二篇】

今天我们用bfs解决迷宫游戏。 1.再探迷宫游戏 前面我们已经接触过了迷宫游戏&#xff0c;并且学会了如何使用 DFS 来解决迷宫最短路问题。用 DFS 求解迷宫最短路有一个很大的缺点&#xff0c;需要枚举所有可能的路径&#xff0c;读入的地图一旦很大&#xff0c;可能的搜索方案…...