導航:首頁 > 編程語言 > 糖果編程

糖果編程

發布時間:2022-01-20 02:07:24

1. c++拿糖果編程題目,請幫我講解演算法思想或者給出源代碼,謝謝

因為HSP拿走a糖果,小於a的被ZM拿走,b糖果只能在大於a的糖果內選擇。
對於給定一個a,b選擇為大於a的糖果中Wb最小的那個,Wa-Wb的就會取到最大值。
1.我們讓a=1,b=大於1的糖果中取Wb最小值的那個,得到Wa-Wb。
2.我們讓a=2,b=大於2的糖果中取Wb最小值的那個,得到Wa-Wb。
...
然後在這n種Wa-Wb中找到最大值即為所有情況的最大值。
intmax=0;
for(inta=1;a<=n-1;++a){
for(intb=a+1;b<=n;++b){
找到最小的W[b]的下標;
}
intnewMax=W[a]-W[b];
if(newMax>max)max=newMax;
}
//代碼時間復雜度為O(n^2),空間復雜度為O(1)。
如果讓a從n-1到1,反過來,就可以不用每次都從頭尋找最小值的Wb。
intWb=W[n];
intmax=0;
for(inta=n-1;a<=1;--a){
intnewMax=W[a]-Wb;
if(newMax>max)max=newMax;
if(W[a]<Wb)Wb=W[a];
}
//代碼時間復雜度為O(n),空間復雜度為O(1)。

2. C語言編程題:分糖果,如圖。沒有思路T^T ,求大神

只有一個簡單的思路,一起討論一下:
第1個小孩給他一個(誰讓他搶在前面呢:)
後面的小孩依次按規矩來,看應該給幾個,可愛值高呢,就加一塊,否則就減一塊。
如果發現減到零了,那就倒回去,前面的人補一塊。當然,不是全部補,只要補發到可愛值較高的地方就可以了。實際只需要計算一個總數,所以可以預先算好,直接加到總數中就行了。

開始時,第1個小孩1塊糖,待補發的數量=0
第2個小孩先給2塊糖,由於可愛值開始變高,待補發的數量=1
每3個小孩先給1塊糖,由於可愛值變低,待補發的數量+1。
第4個小孩可愛值變低,待補發總數+1,照說應該給0塊糖,當然不行,補發一塊,前面的也都補一塊,補3塊。這個待補發數量還不能歸零。當前第4個小孩的糖數應該修正成1。
第5個小孩給2塊糖,由於可愛值開始變高,補發數量歸零=1。
1+2+1+0+(3)+2=9

大體的思路應該就是這個樣子。

3. C語言編程 幼兒園的小朋友分吃一堆糖果,第一天吃了一半,又吃了一顆;

#include <stdio.h>

void main()
{
int n = 1;
int i;
int sum = 0;
for(i = 10;i >= 1;i--)
{
sum += n;
n = (n+1)*2;
}
printf("總共有糖%d顆\n",sum);
}

4. 求!用c++面向對象編寫 糖果自動售賣機

參考教科書上的ATM模型和編程。

5. 糖果編程和傲夢編程什麼關系

俺糖果編程的話,好夢想它變成有很多都是不一樣的,因為它是兩個軟體,然後變成在一起的,但是他倆不發生沖突。

6. c語言編程:分糖果

都已經回復過了,怎麼還在重復發貼啊~~
#include<stdio.h>

int equal(int child[])//判斷每個小孩手上的糖是否相等
{
int i;
for(i=1;i<10;i++)
if(child[i]!=child[i-1])
return 1;
return 0;
}

void main()
{
int child[10]={10,2,8,22,16,4,10,6,14,20};
int i, tmp0, tmp, sum=0, count=1;
while(equal(child)) {
tmp0= child[0];
for(i=1;i<10;i++) {//循環分糖
if(child[i]%2)
child[i]++;
tmp = child[i];
child[i-1]=child[i-1]/2+tmp/2;//分糖後
}
if(tmp0%2)
tmp0++;
child[9]=child[9]/2+tmp0/2;
count++;
}
printf("經過%d次後,大家手上都有%d塊糖.\n", count, child[0]);
}

7. C++編程糖果共享游戲

#include <stdio.h>
#include <iostream.h>

void main()
{
int candy[100],stunum[10];//最多十組游戲,十組游戲總共參加人數不多於100人。
int whistle,k,l,sum=0,i=-1,j=0;
int x[10]; //一組游戲中學生糖果數的起始下標。
int g;//1時說明本組游戲還沒完,繼續進行。0則結束本組游戲。
int a,b,c;//緩存數據。
cout<<"請輸入(數據以回車間隔,輸入0結束):"<<endl;
while(stunum[i]!=0)//數據輸入。
{
i++;
cin>>stunum[i]; //輸入每一次游戲參加的人數。
x[i]=sum;//第i組游戲將從第x[i]個數據開始。
sum+=stunum[i];
if(stunum[i])
for(;j<sum;j++)//輸入這一次游戲中每一位同學的糖果數。
{
cin>>candy[j];
if(candy[j]%2){cout<<"出錯啦!";stunum[i]=0;break;}
}
}

for(k=0;k<i;k++)//游戲共有i組,進行第k組游戲。i不要改寫。
{
whistle=0;//初始化游戲。
g=1;
a=x[k];//第k組游戲的人員上標和下標。
b=x[k]+stunum[k]-1;
while(g)//開始一次游戲。
{
for(l=a;l<=b;l++)//循環檢查candy[k]中的a~b這一段有沒有奇數糖果的人。
{
if(candy[l]%2) candy[l]++;
}
for(l=a;l<=b-1;l++)//檢查是否已經每個人都有了一樣多的糖果。
{
if(candy[l]==candy[l+1])continue;//暫時符合條件,繼續檢查。
else break;//檢查到不合格的,結束檢查。繼續游戲。
}
if(l==b&&candy[l]==candy[l-1])//如果上個循環運行到末尾且糖果數組中第k段最後兩個數相等,那麼這組游戲結束。
{
cout<<whistle<<" "<<candy[l]<<endl;
g=0;
break;
}

whistle++;//吹哨。
//cout<<whistle<<endl;

c=candy[a]/2+candy[b]/2;//第一個人的糖果等於自己糖果的一半加上最後一個人的一半。
for(l=b-1;l>=a;l--)
{
candy[l+1]=candy[l]/2+candy[l+1]/2;//除了第一個人,其餘人都是自己糖果的一半加上左邊人的一半。
}
candy[a]=c;

for(l=a;l<=b-1;l++)//檢查是否已經每個人都有了一樣多的糖果。
{
if(candy[l]==candy[l+1])continue;//暫時符合條件,繼續檢查。
else break;//檢查到不合格的,結束檢查。繼續游戲。
}
if(l==b&&candy[l]==candy[l-1])//如果上個循環運行到末尾且糖果數組中第k段最後兩個數相等,那麼這組游戲結束。
{
cout<<whistle<<" "<<candy[l]<<endl;
g=0;
}
}
}
getchar();
}

這是我從編譯器裡面直接拷出來的,調試了好久,判讀那塊調用函數的話可能會簡單一點,但是思維是一點點打開的,所以只能說我這個程序還有改動的空間,但是今天搞疲勞了,你多給點分吧。

8. vb編程糖果問題編程

川農選了VB得同學看看就知道了哈!!!http://hi..com/20085557 裡面有解答不錯!!

9. C語言編程 吃糖果的問題 難!!!!

只有在T組糖果中,當任意的某一種糖果的數量 - 剩餘T-1種糖果的數量之和 ≥ 2的情況下,才不可能吃完。其他任何情況下都可以吃完。

證明: 設糖果有T種, 每一種有X1,X2,X3,......XT 個。
步驟一: 取X1,X2,X3........XT 中最小值Xmin。(即標准地每種吃一個,直到把最少的那一組吃完)
那麼接下來剩餘的糖果種類為T - 1。每一種有X1-Xmin1,X2-Xmin1,X3-Xmin1.......XT-Xmin1 個
步驟二:在剩餘的T-1種糖果中,找出數量最少的。(即X1-Xmin,X2-Xmin.......XT-Xmin中最少的)
那麼剩餘的糖果種類為T-2,每一種有X1-Xmin1-Xmin2,X2-Xmin1-Xmin2.......XT-Xmin1-Xmin2個
重復以上步驟直到最後只剩一種糖果,這個糖果的數量為,Xmax - Xmin1- Xmin2 - Xmin3 ....- Xmin(T-1)
當這個糖果的數量為0的情況下,就可以吃完。不為0的情況下就不可以吃完。
考慮最差情況,即每一次只吃最多的一種糖果和最少的一種糖果。(每次吃2種,其他糖果不吃)
那麼最後剩餘糖果的數量為 Xmax - X1-X2 -X3 ....-XT
當這個值為1時 則可以吃完。大於1時 則吃不完。

接下來編程就非常容易了。
遍歷一遍T組糖果中每種糖果的數量,然後算一下就行了。

10. C語言編程 分糖果的游戲

離結束還有06分40秒
6分鍾搞不定,放棄了。

閱讀全文

與糖果編程相關的資料

熱點內容
android開發一年經驗 瀏覽:518
什麼叫做解壓到根目錄下 瀏覽:501
prom文件夾 瀏覽:728
不規則土方的演算法 瀏覽:209
tor加密貨幣網站 瀏覽:451
linux轉ansi 瀏覽:736
網站源碼怎麼查 瀏覽:689
高cpu雲伺服器 瀏覽:367
androidwebrtcaecm 瀏覽:983
阿里雲部署java 瀏覽:638
雲是不是就是個大的伺服器 瀏覽:583
如何建立linux日誌管理伺服器 瀏覽:772
悟空頭圖標是什麼APP 瀏覽:555
linuxandroid虛擬機 瀏覽:281
ps李濤pdf 瀏覽:638
linuxfork線程 瀏覽:97
易語言編譯改名 瀏覽:723
阿里伺服器都提供什麼 瀏覽:756
cf打開伺服器接不上怎麼辦 瀏覽:901
linux下more命令 瀏覽:402