c语言 K好数

Python023

c语言 K好数,第1张

动态规划

代码供参考

#include<stdio.h>

int f[101][101]

int main()

{

int k,l,i,j,p

int sum=0

scanf("%d%d",&k,&l)

for(i=0i<=k-1i++)

f[1][i]=1

for(i=2i<=li++)

{

for(j=0j<=k-1j++)

{

for(p=0p<=k-1p++)

{

if(p!=j-1&&p!=j+1)

{

      f[i][j]+=f[i-1][p]

if(f[i][j]>1000000007)f[i][j]%=1000000007

}

}

}

}

for(i=1i<=k-1i++)

{

sum+=f[l][i]

if(sum>1000000007)sum%=1000000007

}

printf("%d",sum)

return 0

}

1.x=4

第一行和第二行无实际意义。因为它们都操作空。

第三行判断c是否等于零,如是,则执行x=3,否则,执行x=4。

2.m4=1;

m2==m3+1先执行m3+1,得2

然后执行m2==m3,由于m2等于m3,所以为1

首先判断1是否等于1,是的,执行m4=1,跳到第七行(下一语句)

3.b=-4

b--<0的意思是,先判断b是否小于0,再使b减一.

4.y=51

因为循环中未对y进行变换.

5.

00000011(3)

00000101(6)

----------

00000110(7)

1^1=0,1^0=1,0^0=0,0^1=1

3^6=7