剑指offer 介绍一种很骚的做法 求1+2+…+n不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。【简单易懂,代码可以直接运行】

求1+2+…+n不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。【简单易懂,代码可以直接运行】

利用char数组和等差数列求和公式来写这道题!
介绍sizeof函数:
sizeof函数是用来计算字节数,因为char类型是一个字节,所以sizeof数组的字节数就是数组的长度;

介绍等差数列求和公式:
Sn = n*(n+1)/2
由此我们可以得到一种解法,利用二维字符数组char[n][n+1]来求出来这道题,因为sizeof数组即是n(n+1),接下来将结果除2即可*

代码如下:

class Solution {
public:
    int getSum(int n) {
        char s[n][n+1];
        return sizeof(s)/2;
        
    }
};

剑指offer 介绍一种很骚的做法 求1+2+…+n不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。【简单易懂,代码可以直接运行】

点个

上一篇:2021-10-23


下一篇:数组指针,指针数组