哈喽大家晚上好!这几天我学习了指针,但是还不太熟悉,只能整理完再给大家分享了。所以今天给大家分享的知识依然是C语言中的练习题——韩信点兵。这个题目较为简单,所以我在这就跟大家简单说说就好了。
下面附上原题:韩信点兵:韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。编程求韩信最少的士兵?
解题思路:
我们对题目进行分析可知当从1至5报数时还余下1名士兵,从1至6报数时还余下5名士兵,依次类推,最后题目问韩信的士兵有多少种可能。综上,我们只用在for循环里面嵌套一个if语句即可,同时注意,因为题目问的是韩信的士兵至少有多少,所以我们要在if语句里面用break跳出。
下面附上源码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
for (int i = 0;; i++)
{
if (i % 5 == 1 && i % 6 == 5 && i % 7 == 4 && i % 11 == 10)
{
printf("%d", i);
break;
}
}
return 0;
}