中国剩余定理(模板+代码)

#include<stdio.h>
#include <iostream>
using namespace std;
//扩展欧几里得算法
int exgcd(int a,int b,int &x,int &y)
{int d;if(b==0){x=1;y=0;return a;}d=exgcd(b,a%b,y,x);y-=a/b*x;return d;
}//中国剩余定理 ,r[]存放余数 ,prime[]存放两两互质的数
int Chinese_Remainder(int r[],int prime[],int len)
{int i,d,x,y,m,n=1,sum=0;//计算所以除数的积n,也是所以除数的最小公倍数for(i=0;i<len;i++)n*=prime[i];//计算符合所以条件的数for(i=0;i<len;i++){m=n/prime[i];//计算除去本身的所有除数的积md=exgcd(prime[i],m,x,y);//计算w[i]*x+m*y=gcd(w[i],m)的一个解y//累加整数解y的同并不断对n取余,其利用公式:(a+b)%c=(a%c+b%c)%csum=(sum+y*m*r[i])%n;}return (n+sum%n)%n;//满足所以方程的最小解
}
int main()
{int n,i;int prime[15],r[15];while (printf("请输入组数n:\n"),scanf("%d",&n)!=EOF){printf("请依次输入每组的除数和余数:\n");for (i=0;i<n;i++){scanf("%d%d",&prime[i],&r[i]);}//printf("%d\n",Chinese_Remainder(b,w,n));printf("符合条件的最小整数:%d\n\n",Chinese_Remainder(r,prime,n));}return 0;
}


核心代码:
int Chinese_Remainder(int r[],int prime[],int len)
{int i,d,x,y,m,n=1,sum=0;for(i=0;i<len;i++)n*=prime[i];for(i=0;i<len;i++){m=n/prime[i];d=exgcd(prime[i],m,x,y);sum=(sum+y*m*r[i])%n;}return (n+sum%n)%n;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PolarDB-X 源码解读系列:DML 之 INSERT IGNORE 流程

在上一篇源码阅读中&#xff0c;我们介绍了 INSERT 的执行流程。而 INSERT IGNORE 与 INSERT 不同&#xff0c;需要对插入值判断是否有 Unique Key 的冲突&#xff0c;并忽略有冲突的插入值。因此本文将进一步介绍 PolarDB-X 中 INSERT IGNORE 的执行流程&#xff0c;其根据插入…

原根(详解+代码实现+例题+快速求解一个数的原根)

1.原根定义 假设一个数g对于P来说是原根&#xff0c;那么g^i mod P的结果两两不同,且有 1<g<P, 1<i<P,那么g可以称为是P的一个原根简单来说&#xff0c;g^i mod p ≠ g^j mod p &#xff08;p为素数&#xff09;其中i≠j且i, j介於1至(p-1)之间则g为p的原根。简单的…

平方剩余(例题+详解+代码模板)

平方剩余 (poj 1808)题意&#xff1a; 判断平方剩余&#xff0c;即判断(x^2)%pa是否有解。限制&#xff1a; |a| < 1e9 && a % p !0; 2 < p < 1e9 && p为奇素数。思路&#xff1a; 用欧拉准则计算勒让德符号(用来判断平方剩余) /*poj 1808题意&…

文娱行业搜索最佳实践

内容搜索的价值主要体现在两个方面&#xff1a; 对用户而言&#xff0c;用户将搜索作为寻找内容的工具&#xff0c;目标是“搜的到&#xff0c;搜的准”。用户更关心搜索结果的相关性、时效性和多样性。 对平台而言&#xff0c;搜索是内容消费、流量引导的核心入口&#xff0…

离散对数(例题+详解+代码模板)

题意&#xff1a; 给定x,n,m,求x^yn(mod m)的解(其中m是素数) 求解一个最小的x满足给定的方程Bx N (mod P) 使用baby_step_giant_step算法。也就是先小步后大步算法。 1、令xi*mj (mceil(sqrt(p)))&#xff0c; 那么原式化为 B^(i*m)*B^jN(MOD P) B^jN*B^(-i*m)(MOD P)-----…

N次剩余(详解+例题+代码)

从《国际大学生程序设计大赛算法与实现》中所学 任务&#xff1a; 给定N, a, p, 求出(x^N)%pa 在模p意义下的所有解x。 说明&#xff1a; 令g为p的原根&#xff0c;因为p为素数&#xff0c;所以phi(p)p-1。 由原根的性质得&#xff1a; 如果g为p的原根&#xff0c;则&#xff1…

一文搞懂 SAE 日志采集架构

日志&#xff0c;对于一个程序的重要程度不言而喻。无论是作为排查问题的手段&#xff0c;记录关键节点信息&#xff0c;或者是预警&#xff0c;配置监控大盘等等&#xff0c;都扮演着至关重要的角色。是每一类&#xff0c;甚至每一个应用程序都需要记录和查看的重要内容。而在…

无需编写一行代码,实现任何方法的流量防护能力

背景 微服务的稳定性一直是开发者非常关注的话题。随着业务从单体架构向分布式架构演进以及部署方式的变化&#xff0c;服务之间的依赖关系变得越来越复杂&#xff0c;业务系统也面临着巨大的高可用挑战。疫情期间&#xff0c;大家可能都经历过以下的场景&#xff1a; 线上预…

素数筛选法(模板)

#include <stdio.h> #include <string.h> #include <math.h>#define MAX 1000000int is_prime[MAX5] {1}; //is_prime[i]是素数为1&#xff0c;不是素数为0 int prime_num[MAX]; //prime_num[i]是第i个素数int main() {int len 0;//memset(is_prime, …

使用日志上下文聚合插件使能上下文查询及 Livetail

背景 在排查业务故障时&#xff0c;用户往往需要查看业务日志文件来定位问题。然而&#xff0c;当用户在使用SLS收集业务日志时&#xff0c;同一个Logstore中往往存放着不同的日志&#xff08;例如同一台主机上不同目录下的文件&#xff0c;抑或是同一个K8S集群节点上不同容器…

Koordinator v0.7: 为任务调度领域注入新活力

Koordinator[1]继上次v0.6版本[2]发布后&#xff0c;经过 Koordinator 社区的努力&#xff0c;我们迎来了具有重大意义的 v0.7 版本。在这个版本中着重建设了机器学习、大数据场景需要的任务调度能力&#xff0c;例如 Coscheduling、ElasticQuota 和精细化的 GPU 共享调度能力。…

初学ACM之路(训练大纲)

初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法: (1)图的深度优先遍历和广度优先遍历. (2)最短路径算法(dijkstra,bellma…

聊聊日志硬扫描,阿里 Log Scan 的设计与实践

日志 Scan 的发展与背景 大数据快速增长的需要 泛日志&#xff08;Log/Trace/Metric&#xff09;是大数据的重要组成&#xff0c;伴随着每一年业务峰值的新脉冲&#xff0c;日志数据量在快速增长。同时&#xff0c;业务数字化运营、软件可观测性等浪潮又在对日志的存储、计算…

注册配置、微服务治理、云原生网关三箭齐发,阿里云 MSE 持续升级

背景 注册中心是日常使用频率很高的微服务组件&#xff0c;通过较低的资源溢价帮助客户缩短微服务的构建周期、提升可用性&#xff1b;微服务治理实现了 0 门槛就能接入全链路灰度、无损上下线、限流降级、环境隔离、数据库治理等能力&#xff0c;轻松完成开源到稳定生产的跨越…

新零售标杆 SKG 全面拥抱 Serverless,实现敏捷交付

项目背景 SKG 公司是一家专注于高端健康产品的研发、设计与制造的企业。专注为消费者提供精致、时尚的高端产品&#xff0c;以及极致的按摩仪产品体验。 随着市场需求的迅速变化&#xff0c;SKG 的 IT 系统也逐渐面临着库存不准确、线上线下渠道无法协同、部署架构不灵活、IT…

Mobius函数计算 定义+代码模板

Mobius函数定义为&#xff0c;输入一个正整数N&#xff0c;当N1时&#xff0c;函数值为1&#xff0c;当N不为1时&#xff0c;首先在稿纸上将它分解质因数&#xff0c;若某质因数的个数大于1&#xff0c;则函数值为0&#xff0c;如N45&#xff0c;453*3*5,3出现了两次&#xff0…

不仅有0.0075元的深度冷归档,更有对下一代云存储的重新定义

前言&#xff1a;重新定义下一代云存储&#xff0c;需要继续保障稳定、安全、可靠和低成本&#xff0c;进一步演进 Serverless 能力&#xff0c;智能适配负载变化&#xff0c;提供智能数据管理能力以及全场景覆盖不断发展的新负载。 阿里云存储的创新活力&#xff0c;不仅拓展了…

一图看懂镜像

原文链接 本文为阿里云原创内容&#xff0c;未经允许不得转载。

数值方法求积分 详解+模板代码

什么是数值积分 数值积分可以用来求定积分的近似值。对于很多函数来说&#xff0c;我们是可以使用初等函数来表示出其积分的&#xff0c;对于这种函数&#xff0c;只需要求出不定积分然后代入值就能得到定积分了。 可是除此之外还有许多难求的函数和没法使用初等函数表示的函数…

用积木讲运维,这样的IT人太会了

积木的拼搭&#xff0c;是件细致工作。用不同的积木&#xff0c;进行组合变换&#xff0c;小孩子可能会用积木搭高楼、搭汽车、搭公路&#xff0c;而IT人则选择通过搭建小积木&#xff0c;讲解可观测的大乾坤。 大家所熟知的日志服务SLS不只是“日志存储”&#xff0c;更是一个…