sysugz


私信TA

用户名:qq512620936

访问量:7917

签 名:

学渣到此一游~

等  级
排  名 506
经  验 1967
参赛次数 0
文章发表 16
年  龄 0
在职情况
学  校 中山大学
专  业

  自我简介:

#include <stdio.h>

#include <stdlib.h>

/***************************


***************************/

int main()

{

    int a,num_a=0;    //第1站上车的人数a

    int b,num_b=0;    //第2站上(下)车的人数b

    int m;         //最后一站下车的人数

    int n;         //共有n个车站

    int x,num_x;     //需要求出的第x站

    int i;

    int (*preCount)[2];

    int   (*Count)[2];


    scanf("%d %d %d %d",&a,&n,&m,&x);


    Count = (int(*)[2])malloc(sizeof(int)*2*n);


    Count[0][0] = 1;

    Count[0][1] = 0;

    Count[1][0] = 0;

    Count[1][1] = 1;

    for(i=2;i<n;i++)

    {

        Count[i][0] = Count[i-1][0] + Count[i-2][0];

        Count[i][1] = Count[i-1][1] + Count[i-2][1];

    }



    for(i=0;i<n-3;i++)

    {

        num_a += Count[i][0];

        num_b += Count[i][1];


    }


    b = (m - a - num_a * a)/num_b;


    num_x = a;

    for(i=0;i<x-2;i++)

    {

        num_x += a * Count[i][0] + b * Count[i][1];

    }

    printf("%d\n",num_x);

    free(Count);


    return 0;

}


 

0.0分

0 人评分

C语言网提供「C语言、C++、算法竞赛」在线课程,全部由资深研发工程师或ACM金牌大佬亲授课,更科学、全面的课程体系,以在线视频+在线评测的学习模式学习,学练同步,拒绝理论派,真正学会编程!还有奖学金等增值福利等你!

  评论区