题目描述:
猴子第一天摘下若干个桃子, 当即吃了一半,还不过瘾,又多吃了一个。第二 天早上又将第一天剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 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
运行结果: