zoukankan      html  css  js  c++  java
  • Codeforces 414A

    题目链接

    首先考虑无解的情况: n / 2 > k 或者 n==1 且 k != 0 (因为两个数的最大公约数最小为1)

    然后因为有 n / 2 组(把 a[i] 和 a[i+1] 看成一组), 所以我可以试 a[1] 和 a[2]的最大公约数为 k - n / 2 + 1, 这样后面的每个组只需要为1,就可以满足条件, 

    所以前面两个数可以为: k - n / 2 + 1 和 2 * (k - n / 2 + 1), 这样他们的最大公约数就是 k - n / 2 + 1


    附上代码:

     1 n, k = map(int, raw_input().split())
     2 if n / 2 > k or (n == 1 and k != 0):
     3     print -1
     4 elif n / 2 == k:
     5     for i in xrange(n):
     6         print i + 1,
     7 else:
     8     tmp = k - n / 2 + 1
     9     print tmp, tmp << 1,
    10     tmp *= 2; 
    11     for i in xrange(n-2):
    12         print tmp + i + 1,



  • 相关阅读:
    git
    搁置:vue-element-admin
    JS
    开发心得
    CSS
    VSCode(主进程)
    Vue
    axios
    滚动条出现的原理
    element-ui 1.4.13
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3703250.html
Copyright © 2011-2022 走看看