蓝桥杯—切面条/大衍数列

1.问题描述

1.一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢?

2.中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。 它的前几项是:0、2、4、8、12、18、24、32、40、50 … 其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。 以下的代码打印出了大衍数列的前 100 项。

2.问题分析

切面条

1、不对折(对折零次),从中间切一刀,得到 2 根面条, 2 = 2
2、对折一次,从中间切一刀,得到 3 根面条, 3 = 2 + 2^0
3、对折两次,从中间切一刀,得到 5 根面条, 5 = 2 + 2^0 + 2^1
4、对折三次,从中间切一刀,得到 9 根面条, 9 = 2 + 2^0 + 2^1 + 2^2

11、对折十次,从中间切一刀,得到 2 + 2^0 + 2^1 + 2^2 + ...... + 2^9 根面条

大衍数列

它的前几项是:0、2、4、8、12、18、24、32、40、50 …

其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。

3.代码编写

切面条
1.分析对折次数和结果之间的规律
2.对折0次时,for循环不走
3.用  i  控制对折之后,2的幂次
```c
#include  <stdio.h>
int   cut_noodles(int   times){
        int    result=2,t=1;
        for(int  i=0;i<times;i++){
               result+=t;
               t=t*2;
            }
       return   result;
}
int   main(){
       int    result;
       int   times=10;
       result =  cut_noodles(times);
       printf("对折%d次从中间切一刀得到的面条数是:%d\n",times,result);
       return   0;
}

开始运行...
对折10次从中间切一刀得到的面条数是:1025
大衍数列

#include <stdio.h>
int main()
{
int i;
for (i = 1; i <= 100; i++)
{
if (i%2==0)
printf("%d ", i * i / 2);
else
printf("%d ", (i * i - 1) / 2);
}
printf("\n");
}


开始运行...
0 2 4 8 12 18 24 32 40 50 60 72 84 98 112 128 144 162 180 200 220 242 264 288 312 338 364 392 420 450 480 512 544 578 612 648 684 722 760 800 840 882 924 968 1012 1058 1104 1152 1200 1250 1300 1352 1404 1458 1512 1568 1624 1682 1740 1800 1860 1922 1984 2048 2112 2178 2244 2312 2380 2450 2520 2592 2664 2738 2812 2888 2964 3042 3120 3200 3280 3362 3444 3528 3612 3698 3784 3872 3960 4050 4140 4232 4324 4418 4512 4608 4704 4802 4900 5000 

4.总结

总结:今天突然决定看一些简单的算法题,希望能坚持下去,今天不努力,明天当垃圾,nky你可长点心吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值