最大公约数题--夏令营

news/2024/11/17 20:26:59/

题目:

 

知识点:

1。数论-欧几里得算法-gcd最大公因数性质

 证明性质2,为什么两组的公约数相等,同样,最大公约数也相等

算法表示

int gcd(int a, int b)
{return b == 0 ? a : gcd(b, a % b);
}

2.分析题目:给出一组数,最少假设为a,b,c,所求为x,共同余数为r

则有a=x*k1+r;  b=x*k2+r;  c=x*k3+r;

两两算式相减,得出(a-b)=x*k4;  (b-c)=x*k5;

即给出的一组数两两之差(无顺序要求,但方便计算,就可以取前后数之差),都是所求数x的倍数,那要求x,不就是公因数吗,又要求最大的数,那就正好是最大公因数啦

ps:但是我们用的for每个数都求了一遍,其实不必

3.原序列一阶差分表示法

for (int i = 1; i < n; i++){f[i] = f[i] - f[i + 1];}

4.虽然正数负数没有最大公因数,但是计算机的这个gcd求法只是会带一个负号而已,结果输出改为正数即可

答案:

#include <iostream>
#include<cmath>
#include<cstdio>
using namespace std;int f[1010];
int gcd(int a, int b)
{return b == 0 ? a : gcd(b, a % b);
}
int main()
{while (1){int n = 0;scanf("%d", &f[++n]);if (f[n] == 0) break;else{while (f[n] != 0) scanf("%d", &f[++n]);}n--;for (int i = 1; i < n; i++){f[i] = f[i] - f[i + 1];}int ans=f[1];for (int i = 2; i < n; i++){ans = gcd(f[i] == 0 ? ans : f[i], ans);//排除被除数为0的情况}cout << abs(ans) << endl;}return 0;
}


http://www.ppmy.cn/news/1043655.html

相关文章

day20 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

目录&#xff1a; 解题及思路学习 654.最大二叉树 654. 最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最…

批量将excel中第5列中内容将人名和电话号码进行分列

使用Python可以使用openpyxl库来实现批量将Excel中第5列的内容分列为人名和电话号码的操作。下面是示例代码&#xff1a; import openpyxl def split_names_and_phone_numbers(file_path, sheet_name): # 加载Excel文件 workbook openpyxl.load_workbook(file_path) …

前端对文件转换处理的一些常用方法

文章目录 0&#xff0c;前言1&#xff0c;将图片的url网络链接(http://) 转为base64格式2&#xff0c;将base64的图片数据转换为file文件3&#xff0c;将以base64的图片数据转换为Blob4&#xff0c;将file文件转化为base645&#xff0c;将file文件转换为Blob6&#xff0c;获取文…

在海外如何进行应用商店的关键词优化

分析市场&#xff0c;了解我们的应用类别&#xff0c;将我们的应用与竞争对手的优点和缺点进行比较&#xff0c;找到市场上的空白或所谓未满足的需求&#xff0c;并思考如何填补。 1、应用商店关键词优化。 关键词优化的目的是找到最相关的关键词 &#xff0c;并测试应用元数据…

Focus-DETR利用双重注意力机制重建编码器,打造最强目标检测模型

前期的文章我们介绍了DETR模型,我们知道DETR模型首先使用CNN卷积神经网络搜集图片的核心特征点,然后把这些特征点整合起来,通过embedding方法,把特征图片转换到特征向量空间。然后根据标准Transformer模型的编码器与解码器进行注意力机制的计算,最后把计算后的数据进行图片…

稚晖君人形机器人问世:大模型加持,会自己换胳膊,要上生产线造车

从零开始,不到半年就造出人形机器人,还自带软硬件体系。 大模型技术的新一波浪潮:具身智能,已经有了重要进展。 刚刚,稚晖君的创业公司「智元机器人」开了自己的第一场发布会。 以「天才少年」身份加入华为的稚晖君(彭志辉)于去年底宣布离职创业,人们都在关注他在机器…

寻路算法(Java 实例代码源码包下载)

目录 寻路算法 Java 实例代码 src/runoob/graph/Path.java 文件代码&#xff1a; 寻路算法 图的寻路算法也可以通过深度优先遍历 dfs 实现&#xff0c;寻找图 graph 从起始 s 点到其他点的路径&#xff0c;在上一小节的实现类中添加全局变量 from数组记录路径&#xff0c;fr…

SpringBoot + Vue 微人事(十)

职位管理前后端接口对接 先把table中的数据展示出来&#xff0c;table里面的数据实际上是positions里面的数据&#xff0c;就是要给positions:[] 赋上值 可以在methods中定义一个initPosition方法 methods:{//定义一个初始化positions的方法initPositions(){//发送一个get请求…