(一個檔案多組資料輸入的)韓信點兵問題
阿新 • • 發佈:2019-01-14
韓信點兵問題
網上找到的答案都是隻能輸入一組資料立即給出結果的,這裡是能輸入多組資料然後一次性輸出全部結果的。
描述
相傳韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三人一排、五人一排、七人一排地變換隊形,而他每次只掠一眼隊伍的排尾就知道總人數了。輸入包含多組資料,每組資料包含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; }