1. 程式人生 > >《演算法競賽入門經典》習題2-3 韓信點兵(hanxin)

《演算法競賽入門經典》習題2-3 韓信點兵(hanxin)

韓信點兵(hanxin)

韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三人一排、五人一排、七人一排地變換隊形,而他每次都只是掠一眼隊伍的排位就知道人數了。輸入3個非負整數a,b,c,表示每種隊形排尾的人數(a<3,b<5,c<7),輸出總人數的最小值(或報告無解)。已知總人數不小於10,不超過100。

樣例輸入: 2 1 6

樣例輸出: 41

樣例輸入: 2 1 4

樣例輸出: No Answer


  1 #include <stdio.h>
  2
  3 int
  4 main()
  5 {
  6     int a = 0;
  7     int b = 0;
  8     int c = 0;
  9     int i = 0;
 10
 11     scanf("%d%d%d", &a, &b, &c);
 12
 13     for (i = 10; i < 101; i++)
 14     {
 15        if ((a == i % 3) && (b == i % 5) && (c == i % 7))
 16        {
 17            printf("hanxin is %d\n", i);
 18            break;
 19        }
 20        else if (100 == i)
 21        {
 22            printf("No answer\n");
 23        }
 24     }
 25     return 0;
 26 }
~