當前位置:首頁 » 編程軟體 » 小猴編程答案

小猴編程答案

發布時間: 2022-05-08 05:51:38

c語言編程 猴子吃桃問題 描述: 一天一隻猴子摘下一堆桃子,吃了一半,覺得不過癮,又多吃了一個,第2天接

#include<stdio.h>

main()
{
int x, i;

for(x = 1, i = 0; i < 9;++i)
{
x = 2 * (x + 1);
printf("%d", x);
}
}

Ⅱ 編程,猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第2天早上將

int day, x1, x2;
day = 9;
x2 = 1;
while (day > 0)
{
x1 = (x2 + 1) * 2; /*第一天的桃子是第二天桃子數加1後的2倍*/
x2 = x1;
day--; /*因為從後向前推所以天數遞減*/
Console.WriteLine("the total is {0}", x1);
Console.ReadKey();

Ⅲ 一個有關猴子吃桃子的編程題,用c語言循環語句怎麼做

1、首先在電腦中打開vc6.0,新建一個項目,添加頭文件,如下圖所示。

Ⅳ 簡單C語言循環語句編程題目! 猴子摘了一堆桃子。第一天吃了一半,覺的不過癮,又多吃了一個,第二天吃了

#include<stdio.h>
voidmain()
{
intday,x1,x2;
day=5;
x2=1;
while(day>0)
{
x1=(x2+1)*2;
x2=x1;
day--;
}
printf("total=%d ",x1);
}

Ⅳ 編程 猴子吃桃問題 猴子第一天摘下若干個桃子當機吃了一半還不過癮又吃了一個 以後每天早

先分析問題:用逆向思維來思考它,根據題意「以後每天早上吃前天剩下的一半零一個」,則我們可以用逆向思維來推導它,即從第十天往前推。已知第十天有一個,根據題意第九天應該就是(1+1)*2=4個,第八天應該就是(4+1)*2=10,第七天應該就是(10+1)*2=22,第六天應該就是(22+1)*2=46,
依此類推,直至第1天應該就是第2天(766+1)*=1534個桃子,即猴子第一天摘了1534個桃子。
為了驗證這個推導的正確性,你可以按正常邏輯來把它(即此時由前往後)推導,即由第一天1534個桃子,第二天就是1534/2-1=766個桃子,依此類推,直至第十天,那麼猴子此時就會發現只剩一個。


至此,我們由了推導的思想,再來編寫的代碼,就是小菜一碟的事情啦,實現的它方式無非就是那麼兩種,一種是簡單的for循環,另一種是遞歸。這里我採用遞歸,因為解決此類問題往往用遞歸來思考它,會讓問題變得更簡單。按照數學思維來說 就是求未知數,則可以根據已知數出發進行求解(那麼這里的已知數已經告訴了我們,它說第十天只有一個桃子)。

下面是我的遞歸演算法來求解它的方法:

#include<iostream>
usingnamespacestd;
intrecurrent_monkey(intdays)//猴子吃桃遞歸
{
intpeach;
if(days==10)peach=1;//遞歸出口條件(已知條件第10天只有一個桃子)
elsepeach=(recurrent_monkey(days+1)+1)*2;
returnpeach;
}
intmain()
{
intdays=1;
cout<<recurrent_monkey(days)<<endl;
}

Ⅵ c/c++/java編程題:聰明的猴子,高分急求大神解答!題目描述如圖

能否把樣例輸出給出,方便驗證演算法的正確性

下面交流下我的思路

首先我們吧問題轉化,變成你一開始有一個原始數字0,你每次可以從數列a中取出一個給他加上或者減去,求可以到達的最小正整數,如果這個數字等於1,那麼就說明a這個序列符合要求

然後我們發現這個加加減減的過程很類似 輾轉相除法 ,那麼顯然對於一個數列a 如果其中有兩個數字互質,那這個數列就一定符合要求,同樣的,如果沒有兩個數字是互質的,那麼這個數列就一定不符合要求。

由於 gcd(1,x)=1 所以也就是說a是符合要求的,當且僅當a中所有元素的gcd=1

這樣問題就變成了要求一個序列 a ,要求a中的元素都小於等於B,a 中的最後一個元素為B,且a中所有元素的gcd=1,而這個問題顯然可以使用莫比烏斯反演解決

復雜度O(B),對於題目給出的數據范圍顯然可以勝任。

Ⅶ c語言編程解決小猴爬山

上山下山應該是一樣的,都是讓電腦一個值一個值去判斷。我的想法是讓電腦先判斷出所有可能的組合,比如2+3+5和3+2+5是一個概念,然後建立一個排列組合的函數,對組合進一步處理。上山為例:
#include<stdio.h>
intjc(inta)//階乘
{
inti,j=1;
for(i=a;i>0;i--)
{
j=j*i;
}
returnj;
}
intmain(intargc,char*argv[])
{
intn;//方法數
constintt=50;//台階數
inti,j,k;

for(i=0;i<=25;i++)//2*25=50
for(j=0;j<17;j++)//3*16=48
for(k=0;k<13;k++)//4*12=28
{
if(2*i+3*j+4*k==t)//兩步、三步或四步
{
n=n+jc(i+j+k)/(jc(i)*jc(k)*jc(j));
}
}
printf("上山總數為:%d種 ",n);
return0;
}

這個程序計算出來上山有3731種

Ⅷ C語言編程題目(猴子吃桃問題,加密解密問題等),一共五個題目。求大神解答一下,謝謝!

第一個
void move(int a[], int b[], int n, int m) {

for (int i = 0; i < (n - m); i++) {

b[i + m] = a[i];

}

for (int i = 0; i < m; i++) {

b[i] = a[i + n - m];

}

}
第二個
void f(char a[], unsigned int n) {
char str[] = "0123456789abcdef";
int k=0;
for (int temp = n; temp > 0; temp >>= 4, k++);
for (int i = k ; i != 0; i--) {
a[i - 1] = str[n % 16];
n >>= 4;
}
a[k] = '\0';
}

第三個,我明顯復用了第二個的代碼。
void f10(char a[], unsigned int n) {
char str[] = "0123456789";
int k = 0;
for (int temp = n; temp > 0; temp /= 10, k++);
for (int i = k ; i != 0; i--) {
a[i - 1] = str[n % 10];
n /= 10;
}
a[k] = '\0';
}
int sum() {

char a[5];
int iSum = 0;
for (int i = 200; i <= 1000; i++) {
f10(a, i);
for (int j = 0; a[j]!='\0'; j++) {
if (a[j] == '1') iSum += 1;
}
}
return iSum;
}

第四個遞歸即可
int daytotal(int n) {
if (n == 1) return 1;
else return (daytotal(n - 1) + 1) * 2;
}
int total() {
return daytotal(10);
}

最後一個:
void f10t4(char a[], unsigned int n) {
char str[] = "0123456789";
for (int i = 4; i != 0; i--) {
a[i - 1] = str[n % 10];
n /= 10;
}
a[4] = '\0';
}
char * encript(int n) {
char *in = (char*)malloc(4 * sizeof(char));
char temp;
f10t4(in, n);
for (int i = 1; i != 0; i--) {
temp = in[i] + 5;
if (temp > '9') temp -= 10;
in[i] = in[3 - i] + 5;
if (in[i] > '9') temp -= 10;
in[3 - i] = temp;
}
return in;
}
char * decript(int n) {
char *in = (char*)malloc(4 * sizeof(char));
char temp;
f10t4(in, n);
for (int i = 1; i != 0; i--) {
temp = in[i] - 5;
if (temp < '0') temp += 10;
in[i] = in[3 - i] - 5;
if (in[i] < '0') temp += 10;
in[3 - i] = temp;
}
return in;
}

Ⅸ C語言編程 小猴吃了5個桃子,大猴吃的是小猴的3倍少1,編程並輸出他們共吃多少桃

……這還要編程
#include<stdio.h>

void main()
{
int a=5;
printf("一共吃了%d個桃\n",a+3*a-1);
}

Ⅹ 編程求解 猴子吃桃問題。 第一天摘下桃子若干,當即吃掉一半,又多吃一個 第2天將剩餘部分吃掉一半還

512個,因為是一半關系所以可以逆著在原數1加兩倍因為後面的1是前面的一半,那後面的就是1的兩倍,以此類推就是1、2、4、8、16、32、64、128、256、512。所以最後答案是512

熱點內容
雲伺服器布 發布:2025-05-14 00:27:55 瀏覽:77
吃雞最佳配置怎麼看 發布:2025-05-14 00:25:32 瀏覽:225
oraclesql效率 發布:2025-05-14 00:17:40 瀏覽:601
cifjava代碼 發布:2025-05-14 00:10:34 瀏覽:212
泰國電視劇密碼在哪裡看 發布:2025-05-13 23:54:22 瀏覽:481
安卓用郵件下完保存在哪裡 發布:2025-05-13 23:52:31 瀏覽:479
解壓美食蛋糕 發布:2025-05-13 23:36:25 瀏覽:354
php含有字元 發布:2025-05-13 23:32:08 瀏覽:184
如何找出蘋果手機已連接wifi密碼 發布:2025-05-13 23:22:52 瀏覽:264
ie10緩存 發布:2025-05-13 23:10:09 瀏覽:459