- 博客(5)
- 收藏
- 关注
原创 关于求大数的阶乘
解决思路:当N足够大时需要用一个字符串来存储阶乘结果;这个字符串同时用于存储中间结果和最终结果。主要的问题是要把大数乘法拆分开一步步计算存入一个临时的字符串。实现代码:#include<iostream>using namespace std;int main(){ int n; while(cin>>n){ string s(4096,'0'); s[0] = '1'; for(int i=2;i<=n
2021-01-25 19:45:56
120
原创 动态规划解决最小邮票数问题
题目描述:有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。 如,有1分,3分,3分,3分,4分五张邮票,要求凑成10分,则使用3张邮票:3分、3分、4分即可。解题思路:简单的自底向上动态规划解决问题,每次扫描一张邮票,在当前最优解的基础上得到加上这一枚邮票的最优解;实现代码:#include<iostream>#include<vector>using namespace std;int main(){ int m,n; while
2021-01-21 15:16:43
353
原创 基于先序遍历字符串非递归建立二叉树
题目描述编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。非递归算法思路:非递归的方式主要还是要利用自定义的工作栈来取代递归过程中的出栈入栈过程;为了实现非递归建立二叉树时确认左右子树是否已经被赋值,在二叉树结点中增加一个标识t;t=0表示该结点左右子树都没有被赋值,所以扫描进入的字符应该作为栈顶结
2021-01-18 11:07:50
829
原创 关于itoa函数和string.push_back函数的一个问题;
string s; for(int i=0;i<3;i++){// char buf[1];// itoa(i,buf,2);// cout<<buf[0]<<endl; s.push_back('1'); cout<<s[0]<<endl; }
2021-01-17 11:02:37
328
2
原创 关于利用C++实现代理服务器问题
关于利用C++实现代理服务器问题题目描述使用代理服务器能够在一定程度上隐藏客户端信息,从而保护用户在互联网上的隐私。我们知道n个代理服务器的IP地址,现在要用它们去访问m个服务器。这 m 个服务器的 IP 地址和访问顺序也已经给出。系统在同一时刻只能使用一个代理服务器,并要求不能用代理服务器去访问和它 IP地址相同的服务器(不然客户端信息很有可能就会被泄露)。在这样的条件下,找到一种使用代理服务器的方案,使得代理服务器切换的次数尽可能得少。输入描述:每个测试数据包括 n + m + 2 行。第 1
2021-01-15 11:26:14
1261
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人