中国剩余定理(韩信点兵)

来源:互联网 发布:网络情歌对唱2016 编辑:程序博客网 时间:2024/06/05 22:28

题目链接:http://115.159.40.116/problem_show.php?pid=4646;

以韩信点兵为例,写出中国剩余定理的过程;

#include<stdio.h>int main(){    int a,b,c;    scanf("%d%d%d",&a,&b,&c);//a,b,c为余数;    int a1=5*7,b1=3*7,c1=3*5;    int sum=3*5*7;    int flag=0;    int aa=0,bb=0,cc=0;    for(int i=1;i<=100;i++)    {        if((i*a1)%3==1)        {            flag++;            aa=i;            break;        }    }    for(int i=1;i<=100;i++)    {        if((i*b1)%5==1)        {            bb=i;            flag++;            break;        }    }    for(int i=1;i<=100;i++)    {        if((i*c1)%7==1)        {            cc=i;            flag++;            break;        }    }    if(flag==3)        printf("%d\n",(aa*a1*a+bb*b1*b+cc*c1*c)%sum);    else printf("No answer\n");    return 0;}


0 0