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;
}

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

相关内容

热门资讯

“头雁”临港新片区以制度创新答... ■再过两天,上海自贸试验区临港新片区即将迎来揭牌成立的六周年。六年来,这片试验田形成突破性制度创新典...
辩护律师要想办案顺利,关键在哪... 我有国内各地的律师好友,如果你要寻找外地律师合作,请加我微信(hzm5349),我帮你推荐;如果你想...
经济日报:贷款贴息政策重在协同... 近日,备受关注的个人消费贷款贴息政策和服务业经营主体贷款贴息政策落地。这一财政和金融协同发力的重要政...
事关货币政策、物价等,央行释放... 上周A股 过去一周(8月11日—8月15日),A股三大指数全线上涨。截至8月15日收盘,沪指报369...
《甘肃省气候资源保护和开发利用... 原标题:《甘肃省气候资源保护和开发利用条例》发布 自2025年10月1日起施行 《甘肃省气候资源保护...
河南省司法厅发文引导律师参与公... 原标题: 省司法厅发文引导律师参与公益法律服务 持续扩大公益法律服务供给 8月12日,记者获悉,河南...
黑龙江发布2025年普通高等教... 目前,黑龙江省已建立了比较完善的高等教育阶段学生资助政策体系,为家庭经济困难学生提供全过程、全方位帮...
上海街头,小车插队致公交车急刹... 上海下班高峰期间,42岁李女士乘公交时,因张女士小轿车违规插队致公交急刹,李女士摔伤头部,交警认定张...
“四稳”看落实 |楼市政策持续... 我国城镇化正从快速增长期转向稳定发展期,城市发展正从大规模增量扩张阶段转向存量提质增效为主的阶段。7...
英超-新援均哑火卡拉菲奥里破门... 北京时间8月17日23:30,2025/2026赛季英超联赛首轮上演焦点大战,“红魔”曼联坐镇老特拉...