1. 程式人生 > >(一個檔案多組資料輸入的)韓信點兵問題

(一個檔案多組資料輸入的)韓信點兵問題

韓信點兵問題

網上找到的答案都是隻能輸入一組資料立即給出結果的,這裡是能輸入多組資料然後一次性輸出全部結果的。

描述

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

樣例輸入:

2 1 3

2 1 6

樣例輸出:case 1:41

case 2:No answer


程式碼如下(由於輸入不能靠回車,所以需要按住ctrl+d再回車即可)

/*韓信點兵*/
#include<stdio.h>
int main()
{
	int a[40],b[40],c[40],i;
	int kase=0;//顯示第幾個案例
	int x=0;
	while(scanf("%d %d %d",&a[x],&b[x],&c[x])!=0)
	{
		x++;
		if(scanf("%d %d %d",&a[x],&b[x],&c[x])!=0)
			x++;
		else
			break;	
	}
	
	
	int j=0;
	for(;j<x;j++)
	{	int print=1;//是否有解 
		for(i=10;i<=100;i++)
		{
			if(i%3==a[j]&&i%5==b[j]&&i%7==c[j])
			{
				printf("case %d:%d\n",++kase,i);
				print=0;
				break; 
			}
		}
		if(print) printf("No answer.\n");
		
	}
	return 0;
 }