题目描述:
猴子第一天摘下若干个桃子, 当即吃了一半,还不过瘾,又多吃了一个。第二 天早上又将第一天剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下一个桃子了。编写程序求猴子第一天摘了多少个桃子。
思路:第十天有1个,则第九天有(第十天+1)*2个,第八天有(第九天+1)*2个,循环九次即可。
C语言描述该程序流程:
#include <stdio.h> int main() { int a=1; for(int i=1;i<=9;i++) { a=(a+1)*2; } printf("%d",a); }
汇编语言:
include irvine32.inc .data a dword 1 num dword 9 ;循环9次 .code main proc mov eax,1 func: cmp num,0 jz output add eax,1 imul eax,2 ;eax=eax*2 dec num jmp func output: call writeint main endp end main
运行结果: