从1到n的连续整数,你能数出多少个?
- 内容介绍
- 文章标签
- 相关推荐
本文共计582个文字,预计阅读时间需要3分钟。
题目:求和问题:1+2+3+...+n要求:不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。数据范围:0 ≤ n ≤ 200进阶:空间复杂度 O(1),时间复杂度 O(n)。
实现思路:
1.使用一个变量累加求和。
2.从1开始循环累加到n。
3.每次循环将当前数加到累加变量上。
4.循环结束后,累加变量即为所求的和。
代码实现:
pythondef sum_of_n(n): total=0 for i in range(1, n + 1): total +=i return total示例n=100result=sum_of_n(n)print(result)
求1+2+3+...+n
题目:
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
数据范围: 0<n≤200 进阶: 空间复杂度 O(1) ,时间复杂度O(n)
示例1:
输入:5
返回值:15
示例2:
输入:1
返回值:1
思路一:
根据我们刚学的内部类的方法进行求解,通过调用
n次构造函数来计算和,从_i = 1开始计算,每调用一次构造函数_i++一次,一共调用n次构造函数,也就计算出1+2+……+n。
代码一:使用内部类和静态成员变量的方法
#include <unistd.h>
class Solution {
public:
class Sum{
public:
Sum()
{
_sum += _i;
_i++;
}
};
int Sum_Solution(int n) {
Sum a[n];
return _sum;
}
private:
static int _i;
static int _sum;
};
int Solution::_i = 1;
int Solution::_sum = 0;
代码二:使用静态成员函数和静态成员变量
class Sum{
public:
//构造函数
Sum()
{
_sum += _i;
_i++;
}
//对静态成员变量初始化
static void Init()
{
_i = 1;
_sum = 0;
}
//获取成员变量的值
static int GetSum()
{
return _sum;
}
private:
static int _i;
static int _sum;
};
class Solution {
public:
int Sum_Solution(int n) {
Sum::Init();
//Sum a[n];//变长数组
Sum* p = new Sum[n];
return Sum::GetSum();
}
};
//静态成员变量的定义
int Sum::_i = 1;
int Sum::_sum = 0;
时间复杂度:O(1)
空间复杂度:O(N)
本文共计582个文字,预计阅读时间需要3分钟。
题目:求和问题:1+2+3+...+n要求:不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。数据范围:0 ≤ n ≤ 200进阶:空间复杂度 O(1),时间复杂度 O(n)。
实现思路:
1.使用一个变量累加求和。
2.从1开始循环累加到n。
3.每次循环将当前数加到累加变量上。
4.循环结束后,累加变量即为所求的和。
代码实现:
pythondef sum_of_n(n): total=0 for i in range(1, n + 1): total +=i return total示例n=100result=sum_of_n(n)print(result)
求1+2+3+...+n
题目:
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
数据范围: 0<n≤200 进阶: 空间复杂度 O(1) ,时间复杂度O(n)
示例1:
输入:5
返回值:15
示例2:
输入:1
返回值:1
思路一:
根据我们刚学的内部类的方法进行求解,通过调用
n次构造函数来计算和,从_i = 1开始计算,每调用一次构造函数_i++一次,一共调用n次构造函数,也就计算出1+2+……+n。
代码一:使用内部类和静态成员变量的方法
#include <unistd.h>
class Solution {
public:
class Sum{
public:
Sum()
{
_sum += _i;
_i++;
}
};
int Sum_Solution(int n) {
Sum a[n];
return _sum;
}
private:
static int _i;
static int _sum;
};
int Solution::_i = 1;
int Solution::_sum = 0;
代码二:使用静态成员函数和静态成员变量
class Sum{
public:
//构造函数
Sum()
{
_sum += _i;
_i++;
}
//对静态成员变量初始化
static void Init()
{
_i = 1;
_sum = 0;
}
//获取成员变量的值
static int GetSum()
{
return _sum;
}
private:
static int _i;
static int _sum;
};
class Solution {
public:
int Sum_Solution(int n) {
Sum::Init();
//Sum a[n];//变长数组
Sum* p = new Sum[n];
return Sum::GetSum();
}
};
//静态成员变量的定义
int Sum::_i = 1;
int Sum::_sum = 0;
时间复杂度:O(1)
空间复杂度:O(N)

