【藍橋杯】運動員分組
阿新 • • 發佈:2018-12-13
運動員分組: 有N個人參加100米短跑比賽。跑道為8條,因此每組人數最多為8。 程式的任務是按照儘量使每組的人數相差最少的原則分組。例如: N=8時,分成1組即可。 N=9時,分成2組:一組5人,一組4人。 N=25時,分4組:7、6、6、6。 請程式設計計算分組數字。 要求從鍵盤輸入一個正整數(1~100之間,不必考慮輸入錯誤的情況),表示參賽的人數。 程式輸出每個組的人數。從大到小順序輸出,每個數字一行。 比如,使用者輸入: 25 程式輸出: 7 6 6 6
#include <iostream> using namespace std; int main() { int n, i, j, t, f = 1; cin >> n; for(i = 1; ; i++) { t = n/i; if(t > 8 || (t == 8 && n-t*i > 0)) continue; for(j = 0; j < i; j++) { if(j >= n-t*i) f = 0; cout << t+f << endl; } return 0; } }