
算法
刷题网站http://noi.openjudge.cn/的答案和一些其他的算法题
超霸霸
考研中
展开
-
KMP算法
详细介绍KMP算法的原理和应用原创 2022-11-19 13:15:49 · 502 阅读 · 0 评论 -
程序设计期末复习
程序设计期末复习7891 一元三次方程求解#include<iostream>#include<iomanip>using namespace std;double a, b, c, d;double f(double x) { return a * x * x * x + b * x * x + c * x + d;}int main() { cin >> a >> b >> c >> d; double原创 2021-12-16 11:48:56 · 340 阅读 · 0 评论 -
0-1背包问题
0-1背包问题问题:给定一个背包和若个物品,书包的体积为W,物品的数量为N,且每个物品都有对应的体积wi和价值vi,求当怎样装物品使得书包中物品的价值总和最大?解题思路:宏观:这是一个典型的动态规划问题,我们采用填表的方式来解题。设置一个二维数组dp,dp[i][w]表示对应前i个物品,背包体积为w,该情况下书包能装物品的最大价值,则dp[N][W]即为我们要求的结果,我们要做的就是遍历这张表,将数据一个一个计算填入最后求出dp[N][W]微观:在计算dp[i][w]时,我们先判断第i个原创 2021-10-21 17:47:13 · 123 阅读 · 0 评论 -
二分查找法 2021-05-21
二分查找法:通过二分法查找某个数据在数组中的位置package programmingTopics;import java.util.Scanner;public class 二分查找法 { public static void main(String[] args) { //声明并初始化数组a int[] a={1,3,5,7,8,9,23,34,45,46,67}; //left为数组起始位置下标,right为数组终点位置下标原创 2021-05-21 13:17:59 · 115 阅读 · 0 评论 -
冒泡排序法 2021-05-21
冒泡排序法:从第一个数开始循环,如果前一个数比后一个数大,则将它们交换,这样循环结束后,最后一个数就是所有数中的最大值。然后对前面的n-1个数再进行冒泡排序,直到最后所有的数都有序package programmingTopics;public class 冒泡排序 { public static void main(String[] args) { int list[]={89,52,57,56,95,24,66,21,45,63,77,87}; int i,原创 2021-05-21 13:16:17 · 131 阅读 · 0 评论 -
Openjudge 7215 简单的整数划分问题
Openjudge 7215 简单的整数划分问题题目要求:递归方法求解:#include<iostream>using namespace std;int fun(int n, int m){ if (n == 1 || m == 1) { return 1; } else if (n < m) { return fun(n, n); } else if (n == m) { return 1 + fun(n, m - 1); }原创 2021-09-24 13:30:28 · 195 阅读 · 0 评论 -
Openjudge1.5答案
Openjudge1.5答案01#include <stdio.h>#include<math.h>int main(){ int n; scanf("%d",&n); int i; double average=0; for(i=0;i<n;i++) { int goal; scanf("%d",&goal); average+=goal; } average/=n; printf("%.2f",average);}原创 2021-07-20 10:27:06 · 31790 阅读 · 17 评论 -
题目:输入一段字符串,包括有字母、数字等类型字符,要求输出其中数字字符组成的整数之和
题目:输入一段字符串,包括有字母、数字等类型字符,要求输出其中数字字符组成的整数之和例如:输入:askhdf343Aljdfadsj78alasdSS2345alajdsf输出:343 + 78 + 2345 = 2771源代码:#include<stdio.h>#include<math.h>#include<string.h>int main(){ //定义两个指针来记录位置 int i, sum, result=0, p1 = 0,原创 2021-07-19 14:05:01 · 2517 阅读 · 1 评论 -
Openjudge1.4答案
Openjudge1.4答案01#include <stdio.h>int main(){ long a; scanf("%ld",&a); if(a==0) { printf("zero"); } else if(a>0) { printf("positive"); } else { printf("negative");原创 2021-07-12 01:04:34 · 9970 阅读 · 4 评论 -
Openjudge1.3答案
Openjudge1.3答案01#include<stdio.h>#include<math.h>int main(){ int a,b,c; scanf("%d %d",&a,&b); c=a+b; printf("%d",c);}02#include<stdio.h>#include<math.h>int main(){ int a,b,c; scanf("%d %d %d",&a,&b,原创 2021-07-10 17:38:45 · 12908 阅读 · 2 评论 -
Openjudge1.2答案
Openjudge1.2答案01#include<stdio.h>int main(){ int a; short b; printf("%d %d",sizeof(a),sizeof(b));}02#include<stdio.h>#include<stdbool.h> //定义bool型变量必须的头文件 int main(){ float a; double b; printf("%d ",sizeof(a)); printf原创 2021-07-10 17:38:14 · 6836 阅读 · 0 评论 -
Openjudeg1.1答案
Openjudeg1.1答案01#include<stdio.h>int main(){ printf("Hello, World!"); return 0;}02#include<stdio.h>int main(){ int a,b,c;scanf("%d %d %d",&a,&b,&c);printf("%d",b); return 0;}03#include<stdio.h&原创 2021-07-10 17:37:40 · 540 阅读 · 0 评论