算法设计
安济夫人
这个作者很懒,什么都没留下…
展开
-
算法设计10-最长不下降子序列
算法设计10-最长不下降子序列参考例题28,P180页问题描述代码#include<iostream>#include<cstring>#include<stdio.h>#define maxnum 100using namespace std;//全局变量方便写函数int a[maxnum], b[maxnum], c[maxnum][maxnum], str[maxnum], M, N, L;//叶彪算法int lcs_len(){原创 2020-05-29 00:45:32 · 157 阅读 · 0 评论 -
算法设计9-最小正整数问题
算法设计9-最小正整数问题参考例题19,P151页问题描述代码#pragma warning(disable : 4996)#include<stdio.h>#include<iostream>#include<string.h>using namespace std;void del(char n[], int b){ int i; for (i = b; i < strlen(n); i++) n[i] =原创 2020-05-29 00:39:48 · 427 阅读 · 0 评论 -
算法设计7-数字迷问题
算法设计7-数字迷问题参考例题10,P132页问题描述代码#include<iostream>using namespace std;int main(){ //三重循环起码要进行7*10*10次,若从结果的DDDDDD来看,DDDDDD只有111111...999999九种情况,再算上A的7种情况,只用枚举9*7=63次,两个for循环,大大提高效率 int A,B,C,D; long E,F;//E=DDDDDD,F=ABCAB for(A=3原创 2020-05-28 23:42:50 · 801 阅读 · 0 评论 -
算法设计8-数列最大字段和问题
算法设计8-数列最大字段和问题参考例题15,P143页问题描述代码#include<iostream>using namespace std;int max_sum3(int a[],int n);int max_sub_sum(int a[],int left,int right){ //s1=a[i]+...+a[n/2] s2=a[n/2+1]+...+a[j] int center,i,j,sum,left_sum,right_sum,s1,s2,le原创 2020-05-28 23:49:30 · 252 阅读 · 0 评论 -
算法设计4-填写运算符
算法设计4-填写运算符参考例题34,P99页问题描述代码#include<iostream>using namespace std;int main(){ int j,k,f,i[5],total; float n[6],p,q; char c[5]={'+','-','*','/'}; cout<<"input five numbers:"; for(j=1;j<=5;j++) cin>>n[j];原创 2020-05-28 23:30:16 · 287 阅读 · 0 评论 -
算法设计3-N的阶乘
算法设计3-N的阶乘参考例题19,P78页问题描述代码#include<iostream>#include<stdio.h>#include<cmath>using namespace std;int main(){ long a[256],b,d; int m,n,i,j,r; cin>>n; m=log(n)*n/6+2; a[1]=1; for(i=2;i<=m;i++)原创 2020-05-28 23:27:29 · 1045 阅读 · 0 评论 -
算法设计2-游戏问题
算法设计—游戏问题参考例题17,P76页问题描述代码(codeblocks)下面展示一些 内联代码片。#include<iostream>using namespace std;int main(){ int a[100],n,k,m,p=0,i;//n参加游戏总人数,k开始报数人编号,m第几位出圈,p当前出圈人数 cout<<"参加游戏的小朋友人数:"; cin>>n; cout<<"开始报数的小朋友的位置:原创 2020-05-28 23:18:52 · 266 阅读 · 0 评论 -
算法设计1-整数划分问题
算法设计与分析-整数划分问题吕国英第3版课本p59,例题6问题描述举例:对于正整数n=6,它可以分划为:代码(codeblocks)#include<iostream>using namespace std;int Divinteger(int n,int m)//划分n,n的任何加数都不超过m{ if(n==1||m==1) return 1;//n=1或者m=1都只有1个分划 else if(n<m) return Divinteger(n,n);原创 2020-05-28 23:09:58 · 376 阅读 · 0 评论