列表

详情


NC209800. XOR和

描述

一个函数,现在牛牛给你一个数,求的值是多少。

输入描述

示例1

输入:

4

输出:

12

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Java(javac 1.8) 解法, 执行用时: 586ms, 内存消耗: 11076K, 提交时间: 2020-12-18 20:27:50

import java.util.*;


public class Solution {
    public long Sum (int n) {
    	long result=0;
    	for(int i=1;i<=n;++i)
    		result+=(i)^(i-1);
    	return result;
    }
}

Python3(3.9) 解法, 执行用时: 27ms, 内存消耗: 3552K, 提交时间: 2020-12-18 21:31:53

from functools import cache


class Solution:
    @cache
    def Sum(self, n: int) -> int:
        if n == 1:
            return 1
        return n + 2 * self.Sum(n // 2)

C(clang11) 解法, 执行用时: 7ms, 内存消耗: 384K, 提交时间: 2021-02-24 19:45:41

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 
 * @param n int整型 
 * @return long长整型
 */
long long Sum(int n ) {
    if(n==1) return 1;
    return n+2*Sum(n/2);
}

Go(1.14.4) 解法, 执行用时: 2ms, 内存消耗: 904K, 提交时间: 2020-12-18 21:01:18

package main

// github.com/EndlessCheng/codeforces-go
func Sum(n int) int64 {
	if n == 1 {
		return 1
	}
	return int64(n) + 2*Sum(n/2)
}

C++(clang++11) 解法, 执行用时: 3ms, 内存消耗: 380K, 提交时间: 2020-12-18 22:43:29

class Solution {
public:
    long long Sum(int n) 
    {
        if( n==0 )    return 0;
        return 2*Sum(n/2)+n;
    }
};

上一题