测评错题

  1. 连续整数之和为1000的共有几组
    1. 当N为奇数时,X为整数。( X等于N个数中的中位数 )此时,N是1000的因数中的奇数,共计有N=1,N=5,N=25,N=125四种,则对应的X分别为X=1000,200,40,8;
      当N为偶数是,X为小数位为0.5的小数( X等于N个数中的最大数和最小数的一般,即一个奇数和一个偶数和的一般 ),那么2X是个奇数,令2X=Y,则有N*Y=2000,此时,Y是2000的因数中的奇数共计有Y=1,5,25,125四种,则对应的N为2000,400,80,16。X=0.5,2.5,12.5,62.5
      所以一共有8组连续整数之和等于2000。
      N=1时,1000;
      N=5时,198,199,200,201,202
      N=25时,28,29,。。。,40,。。。,51,52
      N=125时,-54,-53,。。。,8,。。。,69,70
      N=16时,55,56,。。。,62,63,。。。,69,70
      N=80时,-27,-26,。。。,12,13,。。。51,52
      N=400时,-197,-196,。。。,2,3,。。。,201,202
      N=2000时,-999,-998,。。。,0,1,。。。999,1000
    2. 若为连续自然数,则4组
      1. 设从n加到m, 其和为 (n+m)(m-n+1)/2=1000, 即 (n+m)(m-n+1)=2000, 即把2000分解成两个数的乘积,且这两个数为一奇一偶, 2000=2^4*5^3(2的3次方乘以5的3次方), 于是奇数可能为 5^0, 5^1, 5^2, 5^3。

        当奇数为 5^0=1 时,偶数为2000,得方程 n+m=2000,m-n+1=1,解得 m=n=1000(不合,舍去)
        当奇数为 5^1=5 时,偶数为400,得方程 n+m=400,m-n+1=5,解得 m=203,n=197,得整数组 197,198,199,200,201,202,203.
        当奇数为 5^2=25 时,偶数为80,得方程 n+m=80,m-n+1=25,解得 m=53,n=27,得整数组 27,28,....,52,53.
        当奇数为 5^3=125 时,偶数为16,得方程 n+m=125,m-n+1=16,解得 m=71,n=54,得整数组 54,55,....,70,71. 

      2. 等差数列求和:Sn=[(a1+an)∗n]/2
        Sn=[(a1+an)∗n]/2
        证明:
        Sn = a1 + (a1 + d) + ... + (a1 + (n-1)d)
        Sn = an + (an - d) + ... + (an - (n-1)d)
        上边两式相加得到 2Sn = (a1 + an)*n 即 Sn = (a1 + an)*n / 2
        若 a1 = 1, an = n,则 Sn=n(n+1)/2

  2. 将N条长度均为M的有序链表进行合并,合并以后的链表也保持有序,时间复杂度为()?
    1. O(n*mlogn) 在每个链表中取第一个值放在一个数组并建堆--O(n)
    2. 取出堆中的最小值,并把该值所在的原链表的下一个元素放进堆,调整堆;--共m*n次调整堆,O(n*mlogn)
    3.  如此重复,直至所有链表都为空
  3. 有2n个人排队进电影院,票价是50美分。在这2n个人当中,其中n个人只有50美分,另外n个人有1美元(纸票子)。愚蠢的电影院开始卖票时1分钱也没有。
    问: 有多少种排队方法 使得 每当一个拥有1美元买票时,电影院都有50美分找钱
    注: 
    1美元=100美分
    拥有1美元的人,拥有的是纸币,没法破成2个50美分
    1. (2n)!/[n!(n-1)!]
      1. 代入特殊值得到选项
      2. 卡特兰数的应用
  4. 一个有序数列,序列中的每一个值都能够被2或者3或者5所整除,这个序列的初始值从1开始,但是1并不在这个数列中。求第1500个值是多少? 
    1.  容斥原理:A∪B∪C = A+B+C - A∩B - B∩C - C∩A + A∩B∩C; 求第1500个满足整除条件的x 
      1. 设x个数,x/2+x/3+x/5-x/6-x/10-x/15+x/30=1500解出来就行了
    2. 2、3、5的最小公倍数是30。在区间 [1, 30] 中,
      能被2整除的数有 30 / 2 = 15 个,
      能被3整除的数有 30 / 3 = 10 个,
      能被5整除的数有 30 / 5 = 6 个,
      能被2整除也能被3整除的数有 30 / 6 = 5 个,
      能被2整除也能被5整除的数有 30 / 10 = 3 个,
      能被3整除也能被5整除的数有 30 / 15 = 2 个,
      能被2整除、能被3整除也能被5整除的数有 30 / 30 = 1 个,
      根据集合的容斥定律可知:A∪B∪C = A + B + C - A ∩ B - B ∩ C - A ∩ C + A ∩ B ∩ C,
      因此,能被2整除或能被3整除或能被5整除的数的个数(不重复)为: 15 + 10 + 6 - 5 - 3 - 2 + 1 = 22
      1500 / 22 = 68 ··· 4,[ 1, 30] 中,第4个满足条件的数是 5 ,而 68 * 30 = 2040, 因此第1500个数为
      2040 + 5 = 2045。也就是说,这些数具有周期性,且周期为30。第1500个数是:1500/22=68   1500%68=4。也就是说:第1500个数相当于经过了68个周期,然后再取下一个周期内的第4个数。一个周期内的前4个数:2,3,4,5。故,结果为68*30=2040+5=2045
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值