算法
半零落
少年何惧岁月长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Longest Substring Without Repeating Characters
Example 1:Input: s = “abcabcbb” Output: 3 Explanation: The answer is “abc”, with the length of 3. Example 2:Input: s = “bbbbb” Output: 1 Explanation: The answer is “b”, with the length of 1. Example 3:Input: s = “pwwkew” Output: 3 Explanation: The answer i原创 2022-06-10 21:59:34 · 169 阅读 · 0 评论 -
7-2 汽车加油问题 (20分) 一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少。
一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少。 输入格式: 第一行有 2 个正整数n和 k(k<=1000 ),表示汽车加满油后可行驶n公里,且旅途中有 k个加油站。 第二行有 k+1 个整数,表示第 k 个加油站与第k-1 个加油站之间的距离。 第 0 个加油站表示出发地,汽车已加满油。 第 k+1 个加油站表示目的地。 输出格式: 输出最少加油次数。如果无法到达目的地,则输出“No Solution!”。 输入样原创 2020-06-08 11:58:22 · 18870 阅读 · 7 评论 -
7-1 装箱问题 (20分) 假设有N项物品,大小分别为s 1 、s 2 、…、s i 、…、s N ,其中s i 为满足1≤s i ≤100的整数。
输入格式: 输入第一行给出物品个数N(≤1000);第二行给出N个正整数si(1≤si≤100,表示第i项物品的大小)。 输出格式: 按照输入顺序输出每个物品的大小及其所在的箱子序号,每个物品占1行,最后一行输出所需的箱子数目。 输入样例: 8 60 70 80 90 30 40 10 20 输出样例: 60 1 70 2 80 3 90 4 30 1 40 5 10 1 20 2 5 代码: #include <stdio.h> #include <原创 2020-06-08 11:55:50 · 7577 阅读 · 0 评论 -
求叠数(递归版) (10分)
请编写递归函数,生成叠数。 函数原型 int Redup(int n, int d); 说明:参数 d 为数字,n 为重复次数,函数值为数字 d 重复 n 次的正整数。若 n 或 d 为零或负数,则函数值为0。 裁判程序 #include <stdio.h> int Redup(int n, int d); int main() { int n, d; scanf("%d%d", &n, &d); printf("%d\n", Re原创 2020-05-25 19:51:26 · 5180 阅读 · 0 评论 -
自然数的位数(递归版) (10分)
6-3 自然数的位数(递归版) (10分) 请编写函数,求自然数的位数。 函数原型 int NumDigit(int number); 说明:参数 number 为非负整数。函数值为 number 的位数。若 number 为零,则函数值为零。 裁判程序 #include <stdio.h> int NumDigit(int number); int main() { int n; scanf("%d", &n); printf("%d\n"原创 2020-05-25 19:52:23 · 4459 阅读 · 0 评论 -
求阶乘序列前N项和 (15分)
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。 输入格式: 输入在一行中给出一个不超过12的正整数N。 输出格式: 在一行中输出整数结果。 输入样例: 5 输出样例: 153 #include <stdio.h> double fact( int n ) { if(n==1||n==0) return 1; else return fact(n-1)*n; } double factsum( int n原创 2020-05-25 09:34:22 · 1396 阅读 · 0 评论 -
排序算法(C语言)
1.合并排序 #include <stdio.h> #include <stdlib.h> void hebinMAX(int a[],int mid,int low,int high,int q[]) { int i=low; int j=mid+1; int p=0; while(i<=mid&&j<=h...原创 2020-04-07 18:21:07 · 361 阅读 · 0 评论 -
整数划分
例如: 代码实现: #include <stdio.h> #include <stdlib.h> int HL(int n,int m) { if(n == 1 || m == 1) return 1; else if(n < m) return HL(n,n); else if(n == m) return HL(n,n-1) + 1;...原创 2020-03-22 12:18:43 · 169 阅读 · 0 评论
分享