【程序设计】PASCAL语言实现设有一个数列a1,a2,a3,…,a(n),其中a1,a2由键盘输入,从a3开始,通过下列四种情况的公式计算:a(n-2) a(n-1) a(n)偶数 奇数 2a(n-2)+a(n-1)
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 22:21:19
![【程序设计】PASCAL语言实现设有一个数列a1,a2,a3,…,a(n),其中a1,a2由键盘输入,从a3开始,通过下列四种情况的公式计算:a(n-2) a(n-1) a(n)偶数 奇数 2a(n-2)+a(n-1)](/uploads/image/z/6726464-8-4.jpg?t=%E3%80%90%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E3%80%91PASCAL%E8%AF%AD%E8%A8%80%E5%AE%9E%E7%8E%B0%E8%AE%BE%E6%9C%89%E4%B8%80%E4%B8%AA%E6%95%B0%E5%88%97a1%2Ca2%2Ca3%2C%E2%80%A6%2Ca%EF%BC%88n%EF%BC%89%2C%E5%85%B6%E4%B8%ADa1%2Ca2%E7%94%B1%E9%94%AE%E7%9B%98%E8%BE%93%E5%85%A5%2C%E4%BB%8Ea3%E5%BC%80%E5%A7%8B%2C%E9%80%9A%E8%BF%87%E4%B8%8B%E5%88%97%E5%9B%9B%E7%A7%8D%E6%83%85%E5%86%B5%E7%9A%84%E5%85%AC%E5%BC%8F%E8%AE%A1%E7%AE%97%EF%BC%9Aa%EF%BC%88n%EF%BC%8D2%EF%BC%89+++a%EF%BC%88n%EF%BC%8D1%EF%BC%89+++++a%EF%BC%88n%EF%BC%89%E5%81%B6%E6%95%B0+++++++%E5%A5%87%E6%95%B0++++++++2a%EF%BC%88n%EF%BC%8D2%EF%BC%89%2Ba%EF%BC%88n%EF%BC%8D1%EF%BC%89)
【程序设计】PASCAL语言实现设有一个数列a1,a2,a3,…,a(n),其中a1,a2由键盘输入,从a3开始,通过下列四种情况的公式计算:a(n-2) a(n-1) a(n)偶数 奇数 2a(n-2)+a(n-1)
【程序设计】PASCAL语言实现
设有一个数列a1,a2,a3,…,a(n),其中a1,a2由键盘输入,从a3开始,通过下列四种情况的公式计算:
a(n-2) a(n-1) a(n)
偶数 奇数 2a(n-2)+a(n-1)
奇数 偶数 a(n-2)+2a(n-1)
偶数 偶数 a(n-2)+a(n-1)+1
奇数 奇数 a(n-2)+a(n-1)
例如,a1=1,a2=2,则:
a3=1+2*2=5
a4=4+5=9
a5=5+9=14
任务:对于输入的a1,a2和n(n
【程序设计】PASCAL语言实现设有一个数列a1,a2,a3,…,a(n),其中a1,a2由键盘输入,从a3开始,通过下列四种情况的公式计算:a(n-2) a(n-1) a(n)偶数 奇数 2a(n-2)+a(n-1)
用递推做的:
var
n,i:byte;
a:array[1..100] of word;
procedure fill_a(i:byte);
begin
if (odd(a[i-2])and(odd(a[i-1])) then a[i]:=a[i-1]+a[i-2];
if (odd(a[i-2])and(not(odd(a[i-1))) then a[i]:=a[i-2]+2*a[i-1];
if (odd(a[i-1])and(not(odd(a[i-2))) then a[i]:=a[i-1]+2*a[i-2];
if not((odd(a[i-2])and(odd(a[i-1]))) then a[i]:=a[i-1]+a[i-2]+1;
end;
begin
readln(a[1],a[2]);
readln(n);
for i:=3 to n do fill_a(i);
write('a',n,'=',a[n]);
end.