Nightmare熠辉 发表于 2020-8-15 12:06:47

求帮助

本帖最后由 Nightmare熠辉 于 2020-8-15 13:43 编辑

http://tiebapic.baidu.com/forum/w%3D580/sign=2ae8b792f7fe9925cb0c695804a95ee4/f689bc3eb13533fa924a3c79bfd3fd1f40345bbe.jpg

sunrise085 发表于 2020-8-15 12:13:51

本帖最后由 sunrise085 于 2020-8-15 12:17 编辑

Nightmare熠辉 发表于 2020-8-15 12:09
这种题该怎么做
根据字面写程序:
def fun(n):
      result,flag=0,-1
      for i in range(1,n+1):
                flag*=-1
                result+=i*flag
      return result

print(fun(3))

简单一点
def fun(n):
      if n%2:
                return int((n+1)/2)
      return int(-n/2)

print(fun(3))
print(fun(6))

风过无痕1989 发表于 2020-8-15 13:00:50

3楼的就是最佳答案,我回复一下,得个荣誉加1

永恒的蓝色梦想 发表于 2020-8-15 13:04:17

本帖最后由 永恒的蓝色梦想 于 2020-8-15 13:08 编辑

Nightmare熠辉 发表于 2020-8-15 12:09
这种题该怎么做

#include<stdio.h>



int main() {
    unsigned long long n;
    scanf("%llu", &n);


    if (n & 1) {
      ++n;
    }
    else {
      putchar('-');
    }


    printf("%llu", n >> 1);
    return 0;
}

小甲鱼的铁粉 发表于 2020-8-15 14:59:57

我和三楼一样,弄个荣誉
页: [1]
查看完整版本: 求帮助