C语言 韩信点兵

韩信点兵

代码

#include <stdio.h>

int request (int num);

int main(void)
{
    int num = 0;
    while ( request(num) ) {
        num++;
    }
    printf("%d", num);
    return 0;
}

int request (int num)
{
    if ( ((num % 5) == 1) && ((num % 6) == 5) && ((num % 7) == 4) && ((num % 11) == 10) ) {
        return 0;
    } else {
        return 1;
    }
}

输出

2111

题目

韩信点兵

在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:

  • 按从1至5报数,记下最末一个士兵报的数为1;
  • 再按从1至6报数,记下最末一个士兵报的数为5;
  • 再按从1至7报数,记下最末一个士兵报的数为4;
  • 最后按从1至11报数,最末一个士兵报的数为10;

请编写程序计算韩信至少有多少兵。

输入格式:

本题无输入

输出格式:

输出韩信至少拥有的士兵人数。

作者: 颜晖

单位: 浙江大学城市学院

时间限制: 400 ms

内存限制: 64 MB

代码长度限制: 16 KB

发布了7 篇原创文章 · 获赞 5 · 访问量 1456

猜你喜欢

转载自blog.csdn.net/AimerNeige/article/details/100548867