1楼:匿名用户
该问题其实就是“走台阶”问题。由第一组开始,每一组最多只有3步。由此可以得到dp方程:
a[n]=a[n-1]+a[n-2]+a[n-3].
基于这个分析得出的程序如下(其中的maxn,max可以自己根据情况修改):
program str01;
const max=100;
maxn=3;
var a:array[-maxn+2..max]of longint;
i,j,n:integer;
begin
readln(n);
for i:=-maxn+2 to -1 do a[i]:=0;
a[0]:=2;a[1]:=2;
for i:=2 to n do begina[i]:=a[i-maxn];
for j:=1 to maxn-1 doa[i]:=a[i]+a[i-j];
end;
writeln(a[n]);
end.
2楼:奇妙火麒麟
program str01;
vara:string;
n,i,count:integer;
procedure jinwei(n:integer);
begin
if string[n]='0' thenstring[n]:='1'
else
if n<>1 then begin
string[n]:='0';
jinwei(n-1)
endend
function sum;
vari,s:integer;
begin
s:=0;
for i := 1 to n do
s:=s+ord(string[i])-ord('0')+1;
sum:=s
end;
begin
for i := 1 to n do
string[i]:='0';
count:=0;
repeat
for i := 1 to n-2 do
if (string[i]=string[i+1]) and (string[i]=string[i+2]) and (string[i]=string[i+1]) then
break;
if i=n-2 then
inc(count);
jinwei(n)
until sum=n;
writeln(count)
end.
c语言转义字符问题,Android转义字符 5
1楼 育知同创教育 t是tab自动补空格 012是八进制的, x55是16进制, a没有定义 android转义字符 5 2楼 匿名用户 这个你可以用替换的方式,直接将em替换成某个自己识别的,最后再替换回来即可。 3楼 匿名用户 以下为xml标志符的数字和字符串转义符 或 或 或 lt 或 gt ...
C语言程序:题目:从键盘输入字符串,按照字符顺序从小到大
1楼 彭甲章蔓 include include string h intmain void str2 256 定义二个数组,并赋初值为0inti gets str1 读取一个字符串 for i 0 str1 i i for i 0 i 256 i if str2 i 1 判断数组中被str1填充的位...
吉他指弹符号问题,关于指弹吉他谱中符号的问题
1楼 匿名用户 第一个 无尾滑音,二弦3品到1品和三弦4品到2品,而且要同时进行,通俗来讲弹法,就是手指按好位置,拨前两个音的同时手指要滑到下两个音上。 第二个 延留式漫弹,只弹第一个3弦空弦音,后面的三弦2四弦2五弦3的时值,要留给3弦空音,具体尺度的把握要根据歌曲的大调和节拍。 纯理论解释,请自...