编程介的小学生 2019-06-02 17:18 采纳率: 20.5%
浏览 184

三等分的扇形算出总共有多少跳法,怎么用C语言的程序编写的过程的方法来计算的?

Problem Description
由于长期缺乏运动,小黑发现自己的身材臃肿了许多,于是他想健身,更准确地说是减肥。
小黑买来一块圆形的毯子,把它们分成三等分,分别标上A,B,C,称之为“跳舞毯”,他的运动方式是每次都从A开始跳,每次都可以任意跳到其他块,但最后必须跳回A,且不能原地跳.为达到减肥效果,小黑每天都会坚持跳n次,有天他突然想知道当他跳n次时共几种跳法,结果想了好几天没想出来-_-
现在就请你帮帮他,算出总共有多少跳法。

Input
测试输入包含若干测试用例。每个测试用例占一行,表示n的值(1<=n<=1000)。
当n为0时输入结束。

Output
每个测试用例的输出占一行,由于跳法非常多,输出其对10000取模的结果.

Sample Input
2
3
4
0

Sample Output
2
2
6

  • 写回答

1条回答 默认 最新

  • plmnnmlq 2019-06-02 19:59
    关注

    emmm,先混一下!
    首先,从A开始,然后再次在A结束,且中间不连续.没啥可说明的

    (有点丑)就像这样.

    所以:

    n=1; A
    n=2; ABA
    ACA
    n=3; ABCA
    ACBA
    n=4; 有6种不写了
    ........
    这样可以得出
    方法数为(最后B,C出现的次数):pow(2,n)-(A出现的次数)
    又因为:A出现的条件是B,C出现,或者说B,C出现A必出现.
    所以:A出现的次数,就是上一次的方法数!

    int n;
    if(n>=2)
    {
    int s=2;//方法数
    for(int i=0;i>n;i++)
    {
    s=pow(2,n)-s;
    }
    }
    //大概吧,循环可能不太对
    

    混分混分

    评论

报告相同问题?

悬赏问题

  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面