前端网站开发实例,云南网站建设肖庆华,呼和浩特网站建设公司,网站开发的总结本专栏为c语言练习专栏#xff0c;适合刚刚学完c语言的初学者。本专栏每天会不定时更新#xff0c;通过每天练习#xff0c;进一步对c语言的重难点知识进行更深入的学习。 今天练习题的关键字#xff1a; 尼科彻斯定理 等差数列 #x1f493;博主csdn个人主页#xff1a… 本专栏为c语言练习专栏适合刚刚学完c语言的初学者。本专栏每天会不定时更新通过每天练习进一步对c语言的重难点知识进行更深入的学习。 今天练习题的关键字 尼科彻斯定理 等差数列 博主csdn个人主页小小unicorn ⏩专栏分类C语言天天练 代码仓库小小unicorn的代码仓库 关注我带你学习编程知识 Day1 题目一题目描述解题思路思路一代码实现思路二思路三 代码实现结果情况 题目二题目描述解题思路代码实现结果情况 总结 题目一
题目描述 验证尼科彻斯定理…即任何一个整数m的立方都可以写成m个连续奇数之和。 题目来源 例如 1^31 2^335 3^37911 4^313151719 输入一个正整数mm≤100将m的立方写成m个连续奇数之和的形式输出。 数据范围 1≤m≤100 进阶时间复杂度 O(m) 空间复杂度O(1) 输入描述 输入一个int整数 输出描述 输出分解后的string 解题思路
思路一
写几组例子 1^31 —1 2^335 ---- 4 3^37911 — 9 4^313151719 — 16 我们会发现一个规律 n x n x nn x n两边的n个奇数相加。 代码实现
#include stdio.hint main()
{int n0;scanf(%d,n);int m1n*(n-1);int m2n*(n1);for(int im11;im2-1;i2){printf(%d,i);}printf(%d,m2-1);return 0;
}思路二
m的立方也就是m个m^2 的和相加m个m^2 可以理解为m个等差为2首项为m^2-m1的数列 即m2-m1,m2-m3, …m2m-1 共m项 eg m6 m16x6-61 31 m26x6-61 2 33 m36x6-6122 35 m46x6-61222 37 m56x6-612222 39 m66x6-6122222 41 6x6x636x6(363636363636)36-1361(36-3)(363)(36-5)(365) #include stdio.h
#include string.h
int main(void)
{int m;scanf(%d,m);int *arr;arr(int*)malloc(sizeof(int)*m);//分配m个int字节空间for(int i0;im;i){if(i0)arr[i]m*m-m1;// 数列首项a[0]elsearr[i]arr[i-1]2;//通项a[n]a[n-1]2}for(int i0;i2*m-1;i){if(i%20)printf(%d,arr[i/2]);//偶数项打印数列elseprintf(%c,);//奇数项打印“”号但是最后项不能打印‘’号所以i2*m-1而不是i2*m}return 0;
}思路三
认真对题目分析可以将题目转换为 已知等差数列前n项和求a0问题。 等差数列求和公式为Snnxa01/2n(n-1)d. 本题的公差为2也就是d为2. 由此可输出前n项和。
代码实现
#includestdio.hint main()
{int m;scanf(%d,m);int snm*m*m;int a0sn/m-m1;printf(%d,a0);for(int i1;im;i){printf(%d,a02*i);}printf(\n);return 0;
}结果情况 符合题目要求问题得到解决。
题目二
题目描述 等差数列 2581114。。。。从 2 开始的 3 为公差的等差数列 输出求等差数列前n项和 数据范围 1≤n≤1000 题目来源 输入描述 输入一个正整数n。 输出描述 输出一个相加后的整数。 解题思路
有了第一题的经验。第二题更简单直接带等差数列求和公式即可。
代码实现
#includestdio.h
int main()
{int a1 2, d 3, an 0, n 0, Sn 0;while (scanf(%d, n) 1) {an a1 (n - 1) * d;Sn (a1 an) * n / 2;printf(%d, Sn);}
}
结果情况 符合题目要求问题得到解决。
总结
今天的两道编程练习题会发现有一个共同点那就是都用到了等差数列的相关知识所以解决有的问题卡主了我们可以尝试将它转化为一个数学问题用数学知识解决它。 文章到这里就要告一段落了有更好的想法或问题欢迎评论区留言。 希望今天的练习能对您有所收获咱们下期见