循环程序的设计!!微机实验急用

来源:百度知道 编辑:UC知道 时间:2024/06/28 04:53:57
程序功能:计算1+2*3+3*4+ ----N*(N+1),其中[N*(N+1)]max<200
设计思路:公式可转换成(--(((1)+K1)+K2)+ ---Kn)形式,从而得到递推公式:S1= 1
S2=S1+K1
Sn=Sn-1+Kn-1
还有哈
是用汇编语言写哈!!

DATAS SEGMENT
A DB 2
S dw 1
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV AH,0
MOV BX ,S
MOV DL ,A
LOP1:
MOV AL ,DL
ADD DL ,1
MUL DL
CMP AX ,200
JNB OUT1
ADD BX ,AX
JMP LOP1

OUT1:
SUB DL,2
MOV A,DL
MOV S,BX

MOV AH,4CH
INT 21H
CODES ENDS
END START

#include<iostream.h>
void main()
{
int sum=1;
for(int i=2;sum<200;i++)
{
sum+=i*(i+1);
cout<<i<<endl;
cout<<sum<<endl<<endl;
}
//cout<<sum<<endl;
}

如果你要的只是那个N的大小,你做一定的修改就可以了。