当前位置:   article > 正文

c语言题目#韩信点兵_c语言韩信点兵编程

c语言韩信点兵编程

题目:

韩信点兵:
韩信有一队兵,他想知道有多少人,便让士兵排队报数。按从1至m1报数,最末一个士兵报的数为x1;按从1至m2报数,最末一个士兵报的数为x2;按从1至m3报数,最末一个士兵报的数为x3;……,按从1至mn报数,最末一个士兵报的数为xn。
请输出最少的人数。
输入:第一行为n
      第二行到第n+1行依次为本次报数的数量和最后1个士兵报的数
输出:满足条件的最少人数。
输入非法数据时输出error
例如:输入:
4
5 1
6 5
7 4
11 10
输出:2111

分析:输入的n指明了会输入几组数据;而最少人数一定会满足减去最后一个士兵报的数后除报数的数量余数为零,且求的是最少人数,故从1开始循环开始

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int times,x=0;
  5. scanf("%d",&times);
  6. int ch[100][2];
  7. for(int i=0;i<times;i++)
  8. {
  9. for(int c=0;c<2;c++)
  10. {
  11. scanf("%d",&ch[i][c]);
  12. }
  13. }
  14. int m=1;
  15. for(;x!=times;m++)
  16. {
  17. x=0;
  18. for(int i=0;i<times;i++)
  19. {
  20. if(m!=ch[i][1]){
  21. if((m-ch[i][1])%ch[i][0]==0)
  22. {
  23. x+=1;
  24. }}
  25. }
  26. }
  27. printf("%d",m-1);
  28. return 0;
  29. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/771127
推荐阅读
相关标签
  

闽ICP备14008679号