首页 > 试题广场 >

拆数

[编程题]拆数
  • 热度指数:335 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
把一个数拆成两个不相等的正整数之和,一共有多少种拆法。
给定一个数n,返回将这个数n拆成两个不相等的正整数之和一共有多少种拆法。
注:3=1+2和3=2+1视为同一种拆法。
示例1

输入

3

输出

1

说明

只有一种拆法,就是拆成2和1。  

备注:

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
# 返回将这个数n拆成两个自然数之和一共有多少种拆法(符合规则)。
# @param n int整型 代表题意中的n
# @return int整型
#
class Solution:
    def solve(self , n ):
        # write code here
        if n%2:
            return n//2
        else:
            return n//2 - 1

发表于 2021-08-25 08:26:03 回复(0)
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 返回将这个数n拆成两个自然数之和一共有多少种拆法(符合规则)。
     * @param n int整型 代表题意中的n
     * @return int整型
     */
    int solve(int n) {
        // write code here
        if(n % 2 == 0)
            return n / 2 - 1;
        return n / 2;
    }
};

发表于 2021-03-06 21:46:25 回复(0)

问题信息

难度:
2条回答 1241浏览

热门推荐

通过挑战的用户

查看代码