广联达2018现场笔试题目

  • Post author:
  • Post category:其他


/*

编程1 :求解f(n) = 1-2+3-4+5-6+……+n;

*/

#if 0
int main()
{
    int n;
    int sign = 1;  //符号位
    int sum = 0;
    cin>>n;
    for(int i = 1;i<=n;i++)
    {
        sum+=i*sign;
        sign*=-1; //每次都改变符号位
    }
    cout<<sum<<endl;

}
#endif

/*

编程2:给出一个非负整数数组,最初定位在数组的第一个位置,数组中的每个元素的值代表你在那个位置可以跳跃的最大长度,判断你是否到达数组的最后一个位置

例如: A = {2,3,1,1,4},返回true, A = {3,2,1,0,4},返回false

*/

#if 0
int jump(int arr[],int n,int x)
{
    if(arr == NULL || n == 0)
    return 0;
    if(x>=n-1)  //判断x是否走到最后一个位置
        return 1;



版权声明:本文为liyf__88原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。