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

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

2、中国剩余定理

定义:

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

m 称为这个同余式的模.

定理(中国剩余定理):

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

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

3、C语言源代码

 #include<stdio.h>

 //////////////////////////////////////////
// 作者:落枫飘飘
// 时间: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 ;
}

《孙子算经》之"物不知数"题:中国剩余定理的更多相关文章

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

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

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

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

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

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

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

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

  5. 【xsy1116】数学题 奥数题

    真实奥数题 题目大意:给你正整数k$,r$.问你存在多少对$(x,y)$,满足$x<y$且$x^2+y^2=kz^2$,并将所有符合条件的数对输出. 数据范围:$r≤1e9$,$k={1,2,3 ...

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

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

  7. 【OI】蛇形填数题的深入探究

    题目:在 n×n 方阵里填入 1,2,...n×n, 要求蛇形填数.例如,n=4 时方阵为: 10  11  12  1 9    16  13  2 8    15  14  3 7     6  ...

  8. qdu-凑数题(01背包)

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

  9. CPC23-4-K. 喵喵的神数 (数论 Lucas定理)

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

随机推荐

  1. 网页兼容浏览器测试工具Multibrowser

    网页兼容性测试工具(MultiBrowser),有firefox,chrome,IE 下载

  2. vncserver和Ubuntu Xfce4远程桌面环境的配置,解决不显示图形界面

    vncserver和Ubuntu Xfce4远程桌面环境的配置 参考的http://blog.163.com/thinki_cao/blog/static/8394487520130301453180 ...

  3. 回复《我要阻止做java开发的男朋友去创业型公司工作吗?》园友问题

    真的非常开心能收到这么多园友的关心,看到这么多的回复顿感身边处处充满爱.也非常感谢大家踊跃的帮我出谋划策,小女子在此有礼了! 我先来回答一下性别的问题(前面已经暴露了……),我是前端程序媛.大三时和男 ...

  4. android oom 全解析

    Android oom 有时出现很频繁,这一般不是Android设计的问题,一般是我们的问题. 就我的经验而言,出现oom,无非主要是以下几个方面: 一.加载对象过大 二.相应资源过多,没有来不及释放 ...

  5. HDU 3999 二叉排序树

    The order of a Tree Problem Description The shape of a binary search tree is greatly related to the ...

  6. linux下的/dev/shm目录

    linux下的/dev/shm目录 linux中/dev目录下一般都是一些设备文件,例如磁盘.内存.摄像头等. /dev/shm这个目录是linux下一个利用内存虚拟出来的一个目录,这个目录中的文件都 ...

  7. java78_c

    import java.util.*; public class Main { public static void main(String args[]){ Scanner cin=new Scan ...

  8. django xadmin 模板的定制

    编辑新增等页面对应的modelform为ModelFormAdminView (xadmin.views.edit.ModelFormAdminView) 通过源码分析,新增对象的template属性 ...

  9. Ubuntu 15.10下droidbox安装使用

    DroidBox是一个动态分析Android代码的的分析工具.其目前的安装环境为:Linux/Unix/MacOSX 下面是安装步骤 一. 安装Android SDK 并添加环境变量 export P ...

  10. AFNetworking 2.5.0版本的使用

    http://www.mamicode.com/info-detail-477899.html AFNetworking 2.5.0版本的使用 http://afnetworking.com/ htt ...