python中国剩余定理公式_《孙子算经》之"物不知数"题:中国剩余定理

本文介绍了《孙子算经》中的'物不知数'问题,即中国剩余定理,并提供了C语言实现。通过分析法和中国剩余定理解决同余方程组,找到满足条件的整数解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、《孙子算经》之"物不知数"题

今有物不知其数,三三数之剩二,五五数之剩七,七七数之剩二,问物几何?

2、中国剩余定理

定义:

设 a,b,m 都是整数.  如果 m|(a-b),  则称 a 和 b 模 m 同余, 记为

m 称为这个同余式的模.

定理(中国剩余定理):

设 m1,m2,...,mr 是两两互素的正整数. 设 a1,a2,...,ar 是整数, 则同余方程组

模 M = m1m2...mr 有唯一解

3、C语言源代码

#include

//

// 作者:落枫飘飘

// 时间:2016、04、21

// 博客:http://www.cnblogs.com/wuqianling/p/5415758.html

//

// 《孙子算经》之"物不知数"题:

// 今有物不知其数,三三数之剩二,五五数之剩七,七七数之剩二,问物几何?

//

// 根据题意我们有如下同余方程组:

// x=2%3 ---> x=3*k+2

// x=3%5

// x=2%7

//

// 分析法求解

int analytical(float m1, float m2, float m3, float a1, float a2, float a3)

{

float x=0.0, k1=0.0, k2=0.0, k3=0.0;

for(k1 = ; ; k1++)

{

x = m1*k1 + a1; // ---> x=3*k1+2

k2 = (x-a2) / m2; // ---> k2=(x-2)/3

if(k2 == (int)k2) // 判断k2是否为整数

{

k3 = (x-a3) / m3;

if(k3 == (int)k3) // 判断k3是否为整数

break;

}

}

return (int)x;

}

// 中国剩余定理求解

int chineseRemainderTheorem(int m1, int m2, int m3, int a1, int a2, int a3)

{

int i, x;

int M, M1, M2, M3;

int y1, y2, y3;

M = m1 * m2 * m3;

M1 = m2 * m3; // M1=M/m1=m2*m3

M2 = m1 * m3;

M3 = m1 * m2;

y1 = M1 % m1;

y2 = M2 % m2;

y3 = M3 % m3;

x = (a1*M1*y1 + a2*M2*y2 + a3*M3*y3) % M;

return x;

}

int main()

{

// x=2%3 即 x=a1%m1

// x=3%5 即 x=a2%m2

// x=2%7 即 x=a3%m3

int m1=, m2=, m3=;

int a1=, a2=, a3=;

printf("分析法:\nx=%d \n\n", analytical(m1,m2,m3,a1,a2,a3));

printf("中国剩余定理:\nx=%d \n\n", chineseRemainderTheorem(m1,m2,m3,a1,a2,a3));

return ;

}

中国剩余定理CRT(孙子定理)

中国剩余定理 给出以下的一元线性同余方程组: $\Large(s):\left\{\begin{aligned}x\equiv a_1\ (mod\ m_1)\\x\equiv a_2\ (mod\ ...

【GDKOI2017】 两个胖子萌萌哒 小学奥数题

题目大意:给你一个$n\times m$的网格,你要在这个网格上画三角形. 三角形的顶点只能在网格的整点上,且至少有一条边平行于$x$或$y$轴,且三角形面积为整数.问你能画多少个不同的三角形. 两个 ...

一个hin秀的小学三年级奥数题 [hin秀]

~~~~~~不知为何总会被小学的题虐哭QAQ,真的秀啊,毒害广大小朋友~~~~~~ 一个hin秀的小学三年级奥数题    [hin秀] 题目: 给出一个无限大的棋盘  n×n  (n>0 , 是 ...

Contest 高数题 樹的點分治 樹形DP

高数题 HJA最近在刷高数题,他遇到了这样一道高数题.这道高数题里面有一棵N个点的树,树上每个点有点权,每条边有颜色.一条路径的权值是这条路径上所有点的点权和,一条合法的路径需要满足该路径上任意相邻的 ...

【xsy1116】数学题 奥数题

真实奥数题 题目大意:给你正整数k$,r$.问你存在多少对$(x,y)$,满足$x

python基础===一道小学奥数题的解法

今早在博客园和大家分享了一道昨晚微博中看到的小学奥数题,后来有朋友给出了答案.然后我尝试用python解答它. 原题是这样的: 数学题:好事好 + 要做好 = 要做好事,求 “好.事.做.要”的值分别 ...

qdu-凑数题(01背包)

Description 小Q手里有n(n<=1000) 个硬币,每枚硬币有一定的金额(200=>x>=1)他想知道,用这些硬币(每枚硬币只能用一次,但可能会有等面值的用两次) 能组成 ...

CPC23-4-K&period; 喵喵的神数 (数论 Lucas定理)

喵喵的神∙数 Time Limit: 1 Sec Memory Limit: 128 MB Description 喵喵对组合数比較感兴趣,而且对计算组合数很在行. 同一时候为了追求有后宫的素养的生活 ...

JZYZOJ1376 &lbrack;coci2011&rsqb;友好数对 容斥定理 状态压缩

http://172.20.6.3/Problem_Show.asp?id=1376 题意:找给出的数中含有相同数字的数对的对数. mmp数论题竟然卡快读,莫名拉低通过率什么的太过分了. 刚开始想到了 ...

随机推荐

django base&period;html

{% block title %}默认标题{% endblock %} - 自 ...

RMAN&lowbar;学习笔记4&lowbar;RMAN Virtual Catalog虚拟恢复目录

2014-01-01 Created By BaoXinjian Thanks and Regards

SQLSERVER 2012之AlwaysOn -- 同步模式下的网卡性能优化

本文是基于上一篇的问题继续进行优化:具体背景请参照上文:     前后折腾了一个多 ...

android135 360 来电去电归属地显示,自定义toast&comma;

点击会开启服务. sivAddress.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) ...

mvc4&plus;jquerymobile页面加载时无法绑定事件

问题:在view里写js,在页面第一次加载完成后,无法触发事件, 如:按钮click事件,已经在$(function(){  添加了click });但就是无法触发,必须刷新下才可以. 原因分析: 主 ...

注册表命令 regedit32

转自 https://zhidao.baidu.com/question/1958216489744783460.html Regedt32.exe 不支持注册表项文件 (.reg) 的导入和导出. ...

MongoDB 提升性能的18原则(开发设计阶段)

MongoDB 是高性能数据,但是在使用的过程中,大家偶尔还会碰到一些性能问题.MongoDB和其它关系型数据库相比,例如 SQL Server .MySQL .Oracle 相比来说,相对较新,很多 ...

&lbrack;Spring&rsqb; 学习Spring Boot之二:整合MyBatis并使用&commat;Trasactional管理事务

一.配置及准备工作 1.在 Maven 的 pom 文件中新增以下依赖: mysql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值