day19:倒数数列(易)、排列数(易)、亲和数(易)

【信息科学与工程学】【数据科学】数据科学领域-第三篇 数学基础04 集合论02 编号类型概念类别概念名称数学定义/描述数学表示性质特征重要特例相关理论问题的数学分析参数列表及参数数值范围关联知识1基础集合论本体集合若干确定的、互不相同的对象的总体A,B,…确定性、互异性、无序性∅,N,RZFC 公理系元素归属判定 x∈A势 ∥A∥∈{finite}∪[ℵ0​,+∞)朴素集合论→公理化2基础集合运算并/交/差/补按逻辑联结词定义的集合操作A∪B,A∩B,A∖B交换律、结合律、分配律、De MorganA∪∅=A布尔代数多集合推广 ⋃i∈I​Ai​I为指标集,可数/不可数测度论3基础构造幂 阅读详情

倒数数列

问题描述

编写程序计算并输出

s=sumk=1n (1/k) = 1+1/2+1/3+............+1/n 的值。

要求定义并调用函数total(n)计算1+1/2+1/3+......+1/n

注意:此题的main函数如下所示:
 

int main(){

 int n;

 scanf("%d",&n);

 printf("%.3f\n",total(n));

 return 0;

}

或者:

int main(){

 int n;

 cin>>n;

 cout<<fixed<<setprecision(3)<<total(n)<<endl;

 return 0;

}

个人总结

1. 四舍五入的函数库是iomanip,如果不记得可以直接用万能头文件

2. 如果一个浮点数需要与一个整型变量计算,最好将整型变量也改变为浮点数

#include <iostream>
#include <iomanip>
//#include <vector>
//#include <set>
//#include <string>
//#include <cmath>
//#include <algorithm>
//#include <sstream>
//#include <bits/stdc++.h>
//#define maxint 100000
using namespace std;
double total(int n){
	double sum;
	for(int i = 1 ;i <= n; i++){
		sum += double(1)/double(i);
	}
	
	return sum;
}


int main(){

 int n;

 cin>>n;

 cout<<fixed<<setprecision(3)<<total(n)<<endl;

 return 0;

}

排列数

问题描述

编写程序计算排列数

Pmn =m! / (m-n)!

要求定义函数fact(n)计算n的阶乘。

main函数中可使用如下形式调用:fact(m)/fact(m-n));

个人总结

1. 2是最小的偶素数,且偶数一定不是素数

#include <iostream>
#include <cmath>
using namespace std;

bool ifsushu(int n) {
    if (n <= 1) return false;    
    if (n == 2) return true;     
    if (n % 2 == 0) return false;
    int sqrt_n = sqrt(n);       
    for (int i = 3; i <= sqrt_n; i += 2) { 
        if (n % i == 0) {
            return false;
        }
    }
    return true;
}


int count_sum(int num) {
    int count = 0;
   
    for (int i = 3; i <= num / 2; i += 2) { 
        int j = num - i;
        if (ifsushu(i) && ifsushu(j) && i != j) { 
            count++;
        }
    }
    return count;
}

int main() {
    int t;
    cin >> t;
    while (t--) {
        int num;
        cin >> num;
       
        if (num <= 4 || num % 2 != 0) {
            cout << 0 << endl;
            continue;
        }
        cout << count_sum(num) << endl;
    }
    return 0;
}

亲和数

问题描述

古希腊数学家毕达哥拉斯在自然数研究中发现,

220的所有真约数(即不是自身的约数)之和为: 

1+2+4+5+10+11+20+22+44+55+110=284。 

而284的所有真约数为1、2、4、71、 142,加起来恰好为220。

人们对这样的数感到很惊奇,并称之为亲和数。

一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。 

你的任务就编写一个程序,判断给定的两个数是否是亲和数。

请定义一个函数,传入一个数n,返回n的所有真约数之和。

个人总结

1. 用两个变量存储这两个数,并且直接分解用两个sum记录,suma=b,sumb=a时成立。

#include <iostream>
//#include <vector>
//#include <string>
//#include <algorithm>
//#include <cmath>
//#include <iomanip>
//#include <set>
//#include <sstream>
//#include <bits/stdc++.h> 
using namespace std;
 

int main(){
	int n;
	cin >> n;
	while(n--){
		int a,b;
		cin >> a >> b;
		int sum_a = 0,sum_b = 0;
		for(int i = 1; i < a ;i ++){
			if(a % i == 0){
				sum_a += i;
			}
		}
		for(int j = 1; j < b ;j ++){
			if(b % j == 0){
				sum_b += j;
			}
		}
		
		if((sum_a == b) && (sum_b == a)){
			cout << "YES" << endl;
		}
		else{
			cout << "NO" << endl;
		}
		
		
	}
	
	
	
	return 0;
}

计算机英语翻译

第一段

计算机是一种电子设备,它能接收一套指令或一个程序,然后通过对数字数据进行运算或对其他形式的信息进行处理来执行该程序。

第二段

要不是由于计算机的发展,现代的高科技世界是不可能产生的。不同类型和大小的计算机在整个社会被用于存储和处理各种数据,从保密政府文件、银行交易到私人家庭账目。计算机通过自动化技术开辟了制造业的新纪元,而且它们也增强了现代通信系统的性能。在几乎每一个研究和应用技术领域,从构建宇宙模型到产生明天的气象报告,计算机都是必要的工具,并且它们的应用本身就开辟了人们推测的新领域。数据库服务和计算机网络使各种各样的信息源可供使用。同样的先进技术也使侵犯个人隐私和商业秘密成为可能。计算机犯罪已经成为作为现代技术代价组成部分的许多风险之一。

单词打卡

FPGA远程升级必备:STARTUPE2原语控制Flash的避坑指南 本文深入解析了FPGA远程升级中STARTUPE2原语的核心价值与配置策略,详细介绍了其在QSPI Flash接口设计中的应用。通过Vivado工具和原语控制,开发者可以高效实现安全可靠的远程固件升级,提升系统稳定性和升级效率。 阅读详情

相关推荐

GhidrAssist:AI驱动的逆向工程助手实战指南

逆向工程是分析软件内部工作原理、理解二进制代码逻辑的关键技术,广泛应用于软件安全、恶意代码分析和漏洞挖掘等领域。其核心原理在于通过反编译、控制流与数据流分析等手段,将机器码还原为可理解的高级语言表示。传统逆向分析高度依赖人工经验,面对海量代码时效率低下且易出错。随着大语言模型(LLM)技术的发展,其强大的代码理解与推理能力为自动化逆向分析提供了新的可能。通过将LLM与成熟的逆向工程框架(如Ghidra)相结合,可以构建智能辅助系统,实现代码意图的自动解释、变量/函数的智能重命名以及潜在漏洞模式的辅助识别,从

weixin_42547335的博客 596

Day 10

这个概念第一个和最显著的例子是美式足球中虚拟线1和10,它指示了第一次进攻得分所需的码数,会直接叠加在比赛电视截图上。考虑到运动场上的实时动作是被追踪相机捕捉的,互动视角变化仍然是可能的,尽管不是在终端观众的控制下。使用类似的技术是有可能的,事实上,在如今的电视广播中实现主持人或者其他虚拟广播环境中电视形象是常见的。s=sumk=1n (1/k) = 1+1/2+1/3+............+1/n 的值。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。

m0_73499801的博客 373

新入手的Atmel-ICE产品说明

【一句话自我介绍】 我是Atmel最新推出的功能强大的调试编程工具,适用于Atmel ARM® Cortex®-M的Atmel SAM和AVR® 系列芯片。 【我支持的软件】 完美支持Atmel Studio 6.2以上版本直接支持ICC8AVR以上版本支持烧录ICCAVR、CVAVR、IAR等生成的HEX文件 【我支持的器件】 支持AVR 32-bit MCUs的JTA

kaloha3的专栏 1万+

编程题练习Day20+计算机英语翻译练习Day13

本文包含三个编程练习:1)素数判断与输出:通过is_prime函数判断素数,并按每行10个格式输出[m,n]范围内的素数;2)倒数数列求和:使用total函数计算1到n的倒数之和,结果保留3位小数;3)排列数计算:通过fact函数计算阶乘,实现P(m,n)=m!/(m-n)!的计算。每个问题都给出了完整代码实现和解题要点,涉及函数定义、数值计算和格式化输出等编程基础。

peppermint_05的博客 663

Verilog中generate for循环的5个实战技巧(附完整代码示例)

本文详细介绍了Verilog中generate for循环的5个高级实战技巧,包括参数化模块实例化、条件化生成、多维硬件结构实现等,并附有完整代码示例。这些技巧能显著提升FPGA开发效率,特别适合中级Verilog开发者学习应用。

weixin_28725949的博客 187

深入CARLA地图底层:OpenDRIVE文件如何影响你的仿真效果与避坑指南

本文深入解析CARLA仿真中OpenDRIVE地图文件的核心作用,揭示其如何影响车道连接、交通规则和导航逻辑。通过实战案例和代码示例,提供五大典型地图问题的诊断与修复方案,帮助开发者优化仿真效果并规避常见陷阱。

weixin_34180452的博客 278

Day20:打卡代码题(58-60) + 英语翻译 + 单词打卡

s=sumk=1n (1/k) = 1+1/2+1/3+............+1/n 的值。Pictofit是一款虚拟的试衣间应用,该应用能让用户从在线潮流门店预览。要求定义并调用函数total(n)计算1+1/2+1/3+......+1/n。main函数中可使用如下形式调用:fact(m)/fact(m-n));[m,n]之间(包含m和n)的素数,每行10个,每个数后跟一个空格。garment /'ɡɑːmənt/ n.(一件)衣服。在屏幕上按每行10个的格式输出m~n之间的全部素数。

qq_62932859的博客 639

玉米群体遗传分析实战:如何用IQtree和VCF文件快速构建系统发育树(附避坑指南)

本文详细介绍了如何利用IQtree和VCF文件进行玉米群体遗传分析,并快速构建可靠的系统发育树。文章重点解析了从VCF格式转换到PHYLIP格式的实用技巧,强调了使用ASC模型校正SNP数据偏差的重要性,并提供了完整的参数设置、常见报错解决方案及结果评估指南,帮助研究者高效完成分析并规避常见陷阱。

leaf8的博客 608

Day20:2026年2月7日打卡

简单题,编写一个判断素数的函数即可实现。逻辑如下:若x = 0或1,则返回false;若x大于2,则x对2到sqrt(x)的每一个数取模,若有一个为0则返回false,若都不为0则返回true。i * i <= x;i++) {最后要注意输出格式,每一个元素后面都有一个空格,同时设置一个输出计数器count,count为10时要输出一个换行符。i <= n;核心是定义n的阶层,使用一层for循环,定义i从1到n,1累乘i即可得到n!注意0的阶层为1。

weixin_75171921的博客 606

摄像机实时接入分析平台视频分析网关AI智能分析智慧营业厅方案

通过智能化的改造,可以提高营业厅的运营效率,降低运营成本,同时提升客户体验和安全保障。

EasyDarwin开源社区技术博客 703

【安全启动】HSM安全启动系统学习指南

HSM安全启动系统学习指南摘要 本指南为工程师提供关于HSM安全启动的系统性学习路径,以英飞凌AURIX TC377芯片为核心案例,涵盖基础理论、芯片实现、开发实践和行业应用四个阶段。安全启动作为设备信任链的起点,在汽车电子和工业控制领域尤为重要。指南详细解析了TC377的HSM架构、UCB/PROCON配置、密钥管理等关键技术,并提供了从开发到认证的全流程指导。特别关注汽车行业合规要求(如ISO/SAE 21434、UN R155),帮助开发者构建安全可靠的启动系统,规避常见工程陷阱。通过四阶段渐进学习,

weixin_46481662的博客 516

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 251

突破限制:巧用Azure OpenAI,畅玩Gemini模型

通过 Azure OpenAI 服务这一巧妙的途径,间接调用 Gemini 模型,打破网络限制的壁垒。本文将详细介绍这一方法,无论你是人工智能领域的新手,还是经验丰富的开发者,都能从中获取实用的技巧,轻松开启 Gemini 模型的探索之旅

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 181

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 320

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

把 KV Cache 压到 FP4:BitDecoding-FP4 的算法-系统协同设计复盘

长上下文推理卡在KV Cache的显存与带宽上,而现有FP4方案要么精度崩、要么速度废。这篇文章复盘BitDecoding-FP4如何用三个算法补丁加一个系统重构,在B300上把服务吞吐提升2.4–3.0倍,精度几乎不掉。

helloagent的博客 263

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 596

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

优选算法:分治-归并排序

交易逆序对的总数

Wangshijie1015的博客 136

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 23

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 751

408 算法 06|堆与 Top-K:最小的 10 个数,到底该用数组还是堆

2022(42) 找 100 万个数里最小的 10 个,官方给了"10 元素有序数组"和"大根堆"两种答案。我把两种都实现并数了比较次数:k=10 时两者几乎打平,k=10000 时堆少 111 倍。另附 2021(42) 计数排序的比较次数与稳定性实测。

m0_56226131的博客 358

408 算法 04|主元素与三元组最小距离:两种“扫描时做决定“的思路

2013(41) 的主元素用摩尔投票一遍选出候选,但真正的考点是"选完必须验票";2020(41) 的三元组最小距离,三指针每次只挪最小的那个,靠的是 D=2×(max−min) 这个恒等式。两套完整 C 代码加真实输出,附官方评分档位表。

m0_56226131的博客 414

牛客周赛165C题(前后缀性质,递推,排序,枚举)

题目大意:给定长度为 `n` 的数组,选择 `k ∈ [1,n]`,将前 `k` 个元素整体翻转,后面的元素不变。要求操作后的整个数组非递减,统计满足条件的 `k` 的数量。题目链接:https://ac.nowcoder.com/acm/contest/141721/C。时间复杂度:O(nlogn)

2501_94316951的博客 172

【数据结构-3】算法美学之降复杂度

在while循环的循环体内,首先用临时变量保存最后一个位置的数据,再通过for循环把所有元素往后移动一位,最后把tmp中保存的值放到下标为0的位置上去。方法二的思路是:创建新数组,让原数组中后k个数据移动到新数组中前面的位置,让原数组中前numsSize-k个数据移动到新数组中后面的位置,这。这段代码的思路是:三次逆置,第一次逆置前numsSize-k个数据,第二次逆置后k个数据,最后整体逆置。这篇博文分享一道解法不一的算法题,求解过程的目的在于降低算法的时间复杂度,题源力扣。,属于空间换时间的操作。

weixin_44218929的博客 89

算法61,判定是否为字符重排

两字符串能互为重排 ⇔。

sheshibenniaodan的博客 219

算法日常・每日刷题--<动态规划>32

给定严格递增的正整数数组,求最长斐波那契子序列长度。使用二维DP,dp[i][j]表示以arr[i]、arr[j]为最后两项的序列长度,初始化均为2。通过哈希表快速查找前一项target = arr[j] - arr[i],若存在且下标小于i,则状态转移:dp[i][j] = dp[k][i] + 1。遍历更新全局最大长度,最终若结果小于3则返回0。时间复杂度O(n²),空间复杂度O(n²)。

2503_92261635的博客 179

【前缀和+复合离散化】题解:双色矩形(two)_数据结构_算法优化_预处理_二维前缀和_STL_C++算法竞赛

给定一个 $n \times n$ 的黑白棋盘,初始按 $i+j$ 奇偶染色,经 $k$ 个格子颜色翻转后,求子矩形中黑白格子数差的绝对值最大值。由于 $n$ 可达 $10^9$,但 $k \leq 50$,可离散化关键点。枚举所有由修改点构成的矩形及其四边向外扩展(共 $16$ 种扩展方式),利用二维前缀和快速计算变化量,结合奇偶性判断多出的格子颜色,最终取最大绝对差。时间复杂度为 $O(k^4)$,在 $k \leq 50$ 下可行。

YLCHUP的博客 178
上一篇: day18:最少拦截系统(难)、求N!(难)、素数表(易)
下一篇: day20:分拆素数和(中)、歌德巴赫猜想(中)、N的倍数(中)
小白blog
博客等级 码龄4年 0粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值