10 程式設計分蘋果

2021-10-03 19:41:17 字數 877 閱讀 8858

問題描述:

某幼兒園按如下方法依次給a、b、c、d、e五個小孩發蘋果。將全部蘋果的一半再加二分之一個蘋果發給第1個小孩;將剩下蘋果的三分之一再加三分之一個蘋果發給第2個小孩;將剩下蘋果的四分之一再加四分之一個蘋果發給第3個小孩;將剩下蘋果的五分之一再加五分之一個蘋果發給第4個小孩;將剩下的11個蘋果發給第5個小孩。每個小孩得到的蘋果數均為整數。求原來共有多少個蘋果?每個小孩各得到多少個蘋果?

分析:設當前試探的蘋果數為n,則對n推導公式為:

第k個小孩得到全部剩下蘋果的(k+1)分之一再加上(k+1)分之乙個蘋果,即(n+1)/(k+1)個蘋果。這個數應該是整數;發完第k個小孩後,餘下的蘋果數為n-(n+1)/(k+1)應該為11。

**實現:

#includevoid main()

if(flag == 0 && n!= 11)

flag=1; //得到的蘋果是整數,但是最後剩下的不是11,還要繼續試探

n=x+1;

} printf("蘋果總數:%d\n",x); //蘋果總數

a=(x+1)/2;

b=(x-a+1)/3;

c=(x-a-b+1)/4;

d=(x-a-b-c+1)/5;

e=11;

printf("a=%d\n",a);

printf("b=%d\n",b);

printf("c=%d\n",c);

printf("d=%d\n",d);

printf("e=%d\n",e);

}

**執行截圖:

程式設計題 分蘋果

n 只奶牛坐在一排,每個奶牛擁有 ai 個蘋果,現在你要在它們之間轉移蘋果,使得最後所有奶牛擁有的蘋果數都相同,每一次,你只能從乙隻奶牛身上拿走恰好兩個蘋果到另乙個奶牛上,問最少需要移動多少次可以平分蘋果,如果方案不存在輸出 1。輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個整數 ...

程式設計題 分蘋果

n 只奶牛坐在一排,每個奶牛擁有 a i 個蘋果,現在你要在它們之間轉移蘋果,使得最後所有奶牛擁有的蘋果數都相同,每一次,你只能從乙隻奶牛身上拿走恰好兩個蘋果到另乙個奶牛上,問最少需要移動多少次可以平分蘋果,如果方案不存在輸出 1。每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個整數 n 1 ...

1000個蘋果分10個裝箱

1000個蘋果放入10個箱子。客戶如果要獲得1 1000個蘋果中的任意個數,都可以整箱搬,而不用拆開箱子。問是否有這樣的裝箱方法?二進位制數組合 110 1001000 可以表示任何0x01 0xff之間的數字,所以按照這樣的思想,110 1001000 10000 100000 1000000 1...