算法学习-2-2韩信点兵

来源:互联网 发布:ubuntu杀死进程命令 编辑:程序博客网 时间:2024/06/05 09:33

相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只看一眼队伍的排尾就知道总人数了。输入包含多组数据每组数据包含3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100.输入到文件结束为止。

#include <stdio.h>
int main()
{
    int a,b,i,c,n,flag=1;
    int s1[3];
    while(scanf("%d%d%d",&s1[0],&s1[1],&s1[2]))
    {
        n=10;
        while (n<=100)
        {
            if ((n-s1[0])%3==0 && (n-s1[1])%5==0 && (n-s1[2])%7==0)
            {
                printf("%d",n);
                flag=0;
            }
            n++;
        }
        if (flag)
            printf("No answer");
        flag=1;
    }
        return 0;
}

原创粉丝点击