day1 —— 拿捏1~n的求和问题
创始人
2025-05-29 10:53:09
0

目录

前言

问题描述

代码解释


前言

1.若是想要了解基本语法的话,请到(7条消息) C语言从练气期到渡劫期_要一杯卡布奇诺的博客-CSDN博客查看相应的语法细节

2.若是想要自己保存文章的话,请到有道云笔记保存

问题描述

        求1+2+3+……+n的结果(1 <= n <= 10000

        问题链接:力扣

代码解释

        法一:循环遍历【O(n)】

思路分析:循环枚举数组中的每个值,定义求和变量,让这个变量加上数组中的每个值

#include int sumNums(int n) 
{int sum = 0;for(int i=1; i<=n; i++)sum += i;//累加return sum;
}int main()
{int n = 0;scanf("%d", &n);printf("%d\n", sumNums(n));return 0;
}

        法二: 数学公式

思路分析:使用数学公式n*(n+1)/2,注意,直接使用可能会溢出,所以我们使用long long来定义sum

#include int sumNums(int n)
{long long sum = n * (n + 1) / 2;return sum;
}int main()
{int n = 0;scanf("%d", &n);printf("%d\n", sumNums(n));return 0;
}

        法三:递归

思路分析:递归,每次递归得到当前数和对下一个数的递归的和,到0的时候递归结束

#include int sumNums(int n)
{//递归结束条件if (n < 1)return 0;return n + sumNums(n - 1);
}int main()
{int n = 0;scanf("%d", &n);printf("%d\n", sumNums(n));return 0;
}

        法四:数学公式(在不使用long long的情况下)

思路分析:

        1)n为奇数 ----> (n + 1) / 2 * n;

        2)n为偶数 ----> n / 2 * (n + 1);

#include int sumNums(int n)
{int sum = 0;if (n % 2)sum = (n + 1) / 2 * n;//奇数情况elsesum = n / 2 * (n + 1);//偶数情况return sum;
}int main()
{int n = 0;scanf("%d", &n);printf("%d\n", sumNums(n));return 0;
}

        法五:库函数pow联合位运算

思路分析:本质上还是数学公式:(n^2 + n)/2;使用pow函数求出n^2,然后+n后右移1位【使用pow需要头文件math.h】

#include 
#include int sumNums(int n)
{return ((int)pow(n, 2) + n) >> 1;
}int main()
{int n = 0;scanf("%d", &n);printf("%d\n", sumNums(n));return 0;
}

        法六:短路逻辑运算和递归搭配使用

思路分析:x && y --> x为假,y不执行;x || y --> x为真,y不执行。了解了短路运算符后,我们就可以使用它和递归搭配使用了

#include int sumNums(int n)
{n && (n += sumNums(n - 1));return n;
}int main()
{int n = 0;scanf("%d", &n);printf("%d\n", sumNums(n));return 0;
}

        !!恭喜你完成第一天的修仙之旅!!

相关内容

热门资讯

日媒曝光:日本曾制定3套“夺岛... 据央视新闻报道,随着日本首相高市早苗涉台挑衅言论持续发酵,日本自卫队在靠近台海的岛屿加强军力部署的情...
舞蹈家黄豆豆获破格提拔,已任副... 今年4月拟破格提拔的舞蹈家黄豆豆,已有新消息。 澎湃新闻注意到,中国舞蹈家协会官网近日更新后显示,黄...
李霄鹏告别青岛海牛:战术调整与... 随着2023赛季的落幕,李霄鹏教练组已正式与青岛海牛球员告别,确认下赛季将不再继续执教。这一决定不仅...
高市早苗狠话说早了,美国国会:... 日本首相高市早苗发表的“若台海有事,日本就可行使集体自卫权”的言论,完全就是刻意放狠话,对华发出战争...
法律顾问能处理保险法律事务吗 在当今复杂的商业和法律环境中,保险法律事务对于企业和个人都至关重要。许多人会疑惑,法律顾问是否有能力...
海南国际清算所:依托海南自贸港... 编者按 随着我国多层次的商品市场体系持续完善,场外衍生品市场发展加速推进,其服务实体经济的核心价值正...
威少21+6+11约基奇空砍4... 【搜狐体育战报】北京时间11月23日NBA常规赛,客场作战的国王以128-123击败掘金。威斯布鲁克...
跨境电商高发!多部门共织“天罗... 东方网11月23日消息:11月21日,上海市人民检察院第三分院与上海海关缉私局、上海海警局、上海市第...
法律顾问能处理旅游法律事务吗 在旅游行业蓬勃发展的当下,各类旅游法律事务也日益增多,许多人会疑惑法律顾问是否能处理旅游法律事务。答...
法律顾问能处理哪些法律事务 在当今复杂多变的商业环境中,企业面临着各种各样的法律风险和挑战,法律顾问的重要性日益凸显。那么,法律...