C++
C++
哈哈你个大锤子
将喜欢的东西留着自己身边
展开
-
取余运算
#include<iostream>using namespace std;int mod (long long a,long long p,long long k){ if(p==0) return 1%k; if(p==1) return a%k; else if(p%2) return mod(a%k,p-1,k)*a%k; else return mod((a*a)%k,p/2,k);}int main(){ int a,b,c;原创 2021-05-23 20:18:37 · 349 阅读 · 0 评论 -
装箱问题(P1049 [NOIP2001 普及组)
#include<iostream>#include<algorithm>using namespace std;int a[1000];int main(){ int v,n,z=10000; cin>>v>>n; for(int i=0; i<n; i++) cin>>a[i]; sort(a,a+n); for(int i=n-1; i>=0; i--)原创 2021-05-19 21:48:21 · 147 阅读 · 0 评论 -
矩阵连乘
#include<iostream>using namespace std;#define NUM 51int p[NUM]; //矩阵连乘阶数int m[NUM][NUM]; //每步的最优值int s[NUM][NUM]; //断开处void MatrixChain(int n){ for(int i=1; i<=n; i++) m[i][i]=0; for(int r=2; r<=n; r++) {原创 2021-05-19 21:47:52 · 60 阅读 · 0 评论 -
贪心算法----活动安排
#include#includeusing namespace std;struct action{int s;int f;int index;};bool cmp(const action &a,const action &b){if(a.f<=b.f) return true;else return false;}void GreedySelector(int n,action a[],bool b[]){b[1]=true;int preEnd=a[1原创 2021-05-19 21:47:18 · 71 阅读 · 0 评论 -
半数集
#include<iostream>using namespace std;int a[1001];int comp(int n){ int ans=1; if(a[n]>0) return a[n]; if(n>1) { for(int i=1; i<=n/2; i++) { ans+=comp(i); } } a[n]=ans; re原创 2021-05-19 21:46:39 · 97 阅读 · 0 评论 -
正整数n的划分
#include<iostream>using namespace std;int split(int n,int m){ if(n==1|m==1) return 1; else if(n<m) return split(n,n); else if(n==m) return split(n,m-1)+1; else return split(n,m-1)+split(n-m,m);}int main(){ int s=split(6,原创 2021-05-19 21:45:42 · 208 阅读 · 1 评论 -
全排列(递归交换C++)
#include<iostream>using namespace std;void Perm(char arr[],int k,int m){ if(k==m) { for(int i=0;i<=m;i++) cout<<arr[i]<<" "; cout<<endl; } else { for(int原创 2021-05-19 21:44:58 · 78 阅读 · 0 评论 -
最长公共子序列
#include<iostream>using namespace std;#define NUM 100int c[NUM][NUM];int b[NUM][NUM];void LCSLength(int m,int n,const char x[],char y[]){ int i,j; //数组c的第0行 第0列置0 for(i=1;i<=m;i++) c[i][j]=0; for(i=1;i<=n;i++) c[0][i]=0;原创 2021-05-19 21:44:16 · 62 阅读 · 0 评论 -
背包(贪心)
#include#includeusing namespace std;struct bag{int w;int v;double c;} a[1001];bool cmp(bag &a,bag &b){if(a.c>=b.c)return true;elsereturn false;}double knapack(int n,bag a[],double c){double cleft=c; //背包剩余容量int i=0;double v原创 2021-05-19 21:43:00 · 61 阅读 · 0 评论 -
删数问题
#includeusing namespace std;int main(){int k;string a;cin>>a>>k;if(k>=a.size()) a.erase();else while(k>0){int i;for(i=0;i<a.size()-1;i++){if(a[i]>a[i+1])a.erase(i,1);}k–;}//删除前导数字0while(a.size()>1&&a[0]==原创 2021-05-19 21:42:10 · 78 阅读 · 0 评论 -
C++课程设计------通讯录管理系统
一、 任务描述通讯录管理系统手机通讯录中的联系人的信息既可以存储在手机中,也可以存储在手机卡中,也可以同时存储在两个位置上(每个位置上的存储容量为1000,即手机卡中或手机上最多只能存储1000个联系人)。存储在手机卡的联系人的信息只包含用户名和电话号码两项信息。存储在手机上的联系人的信息除了上面提到的两项信息外,还包含籍贯,QQ号等信息。根据通用的手机通讯录的使用方式,采用OOP(Object Oriented Programming,面向对象编程)方法编写一个手机通讯录管理。要求:创建文本文原创 2020-10-07 16:53:10 · 4685 阅读 · 0 评论