C数楼梯问题一次只能过6个点求大神帮忙

楼梯 大神 帮忙
虫子在睡觉  
网友的回答
美丽先生的店

include<iostream>
include<string>
using namespace std;
const int num10000;//这是数字位数最大值
int n,i,a[5001][num]{{0,0}};//注意,算出来的可都是倒着写的数字,下标是0的是最低位
int main()
{
char b[num];//做中间变量
int *ctoi_array(char [num],int [num]);
char *itoc_array(int [num],char [num]);
memset(b,0,sizeof(b));
     cin >> n;
     if(n1){cout << 1;exit(0);}
     if(n0){cout << 0;exit(0);}
     a[0][0]1;
     for(i1;i<n;i++)
       if(i1)a[i][0]1;
       else
       {
  int k0;
  itoc_array(a[i-1],b);
  int lenstrlen(b);
for(k0;k<len;k++)
a[i][k]a[i-1][k]+a[i-2][k];//各个位数相加
for(k0;k<len+2;k++)
if(a[i][k]>9)
{
a[i][k]-10;
a[i][k+1]+1;
}//进位
       }
  itoc_array(a[n],b);
     cout << strrev(b);
     return 0;
}
int *ctoi_array(char a[num],int b[num])//字符数组转换成整形数组
{
int i0;
for(;a[i]!&39;\0&39;;i++)
b[i]a[i]-&39;0&39;;
return b;
}
char *itoc_array(int a[num],char b[num])//整型数组转化成字符型数组
{
for(int inum-1;a[i]0;i--);
b[i+1]&39;\0&39;;
for(;i>0;i--)
b[i]a[i]+&39;0&39;;
return b;
}

 

lukylukycat

明显用高精度。用数组模拟加法运算。

江秀梅+刘洋

装修知识,有很多。。。发一半吧 省的不看 浪费我感情~ 1、 如果家中会做饭频率很高的话,尽量放弃开放式厨房,会有油烟问题 2、卫生间、厨房小水宝,热水来得快,使用时比较方便。 3、吸油烟机中式的比欧式的吸力更强,欧式的好看不中用。 4、电...2

蜜儿桃子1

1.5公分的找平是可以的 要求细沙 没有问题的 地面要进行处理 凿毛最好 实在没条件也可以直接先用素灰打底 然后在上面再做找平层 控制好找平后的地面湿度 做好养生 多洒水 没什么问题的 还有 个人对你不使用地板表示很不理解 地板革好用吗 ? 寿...

随风来雨

你好! 这属于建筑术数:坑。 以"坑"为模数计算,民间传统习惯以单数为阳数,故开间宽度以及楼梯步数坑数一定为奇数。有时因地形原因开间楼梯步数出现偶数时,也须将瓦坑...

淡粉浅蓝

咨询律师会比较有效果

小懒虫苗啊苗

这个要看他们的详细清单了,自己提前要做好功课,之后的装修,自己只要不是心血来潮的增加,一般就不会有其他的增项了,希望对你的疑问有帮助。1