c++编程
文章平均质量分 67
tingyuanss
这个作者很懒,什么都没留下…
展开
-
C 扑克牌随机发牌的算法实现与研究
最近老师布置了一个题目:(1)实现函数/*将1~13随机放入pCards数组里*/int generate_cards(int [] pCards);/*根据length将数组打印出来,用table间格*/int print_cards(int [] pCards, int length);这道题实现不难,刚看到的时候我搜了搜网上的解答,大多使用随机函数生成一个数比对数原创 2012-09-07 13:12:09 · 5540 阅读 · 0 评论 -
HD ACM 2.1.6 整数对
自己想的这个算法超时了,但是结果是对的。在网上搜没搜到。求效率高的算法。#include#includeint main(){ int n,a[10]={0},b[10]={0},i=0,j,m,k,s=0,t,r=0; scanf("%d",&n); while(n) { for(j=4*n/5;j { m=j; i=0;原创 2013-04-21 19:53:26 · 558 阅读 · 0 评论 -
计算机操作系统调度算法,C++实现FSFS,SJF,RR,多级反馈队列算法
代码有点乱,没有分开写,希望读者耐心看。#include#include#include#includeusing namespace std;unsigned int q_id=0; //用于队列进程号的全局变量unsigned int l_id=0; //用于链表进程号的全局变量unsigned int stime=0;原创 2013-05-17 10:39:45 · 4642 阅读 · 2 评论 -
约瑟夫环
#include#includeint main(){ int n,m; //n为人数,m为报数 char a[50]; //n unsigned int i,j,count=0; while(scanf("%d %d",&n,&m)!=EOF) { memset(a,0,n*sizeof(char)); count=0; i=0原创 2013-05-06 12:00:54 · 897 阅读 · 0 评论 -
HDACM 222 Joseph
The Joseph\\\\\\\'s problem is notoriously known. For those who are not familiar with the original problem: from among n people, numbered 1, 2, . . ., n, standing in circle every mth is going to be ex原创 2013-05-06 12:23:59 · 1006 阅读 · 0 评论 -
HD ACM 切蛋糕
等一等,吃蛋糕之前先考大家一个问题:如果校长大人在蛋糕上切了N刀(校长刀法极好,每一刀都是一个绝对的平面),最多可以把这个球形蛋糕切成几块呢?做不出这个题目,没有蛋糕吃的!为-了-母-校-,为-了-蛋-糕-(不是为了DGMM,枫之羽最会浮想联翩...),加-油-! Input输入数据包含多个测试实例,每个实例占一行,每行包含一个整数n(1 Output对转载 2013-06-09 20:42:38 · 2042 阅读 · 0 评论 -
HD ACM Wolf and Rabbit
水题!#include int main(){int p,m,n;scanf("%d",&p);while(p--){scanf("%d%d",&m,&n);if(m==1||n==1)printf("NO\n");else{if(n%m==0||m%n==0)printf("YES\n");elseprintf("NO\n");原创 2013-06-07 20:02:34 · 662 阅读 · 0 评论 -
epoll模型详解
epoll模型详解在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.转载 2014-11-05 16:22:01 · 531 阅读 · 0 评论 -
linux 下socket编程 一对一阻塞通信
linux下socket编程,socket的流程和windows几乎一样,只是linux下不需要加载socket版本号。1.create socket。函数:int server_socket = socket(AF_INET, SOCK_STREAM, 0); 第一个参数:通信域 可选:AF_INET是IPV4, AF_INET6是IPV6第二个参数: 通信类型 可选:原创 2015-04-21 17:01:22 · 3186 阅读 · 0 评论 -
linux下socket编程 select实现非阻塞模式多台客户端与服务器通信
select函数原型如下:int select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);select系统调用是用来让我们的程序监视多个文件句柄(socket 句柄)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了原创 2015-04-22 08:24:46 · 12467 阅读 · 6 评论 -
HDacm212
2007年到来了。经过2006年一年的修炼,数学神童zouyu终于把0到100000000的Fibonacci数列(f[0]=0,f[1]=1;f[i] = f[i-1]+f[i-2](i>=2))的值全部给背了下来。接下来,CodeStar决定要考考他,于是每问他一个数字,他就要把答案说出来,不过有的数字太长了。所以规定超过4位的只要说出前4位就可以了,可是CodeStar自己又记不住。原创 2013-04-27 21:41:49 · 582 阅读 · 0 评论 -
ACM HD215 七夕节
这题主要考算法,第一次用那个穷举,超时了,然后想到了下面的解法#includeint yzh(int a){int i,j=1,k;if(areturn 1;k=a/2;for(i=2;i{if(a%i==0){j+=i;k=a/i;if(k>i){j+=k;}}}return j;}int main(原创 2013-04-19 12:46:55 · 878 阅读 · 0 评论 -
超时的hd acm 212
#include#include#includeint main(){ char *a,*b,*c; int i,j,k,p,n; while(scanf("%d",&n)!=EOF) { if(n==0) printf("0\n"); else if(n==1||n==2) printf("1\n"); else {原创 2013-04-27 21:45:53 · 579 阅读 · 0 评论 -
12个有趣的C语言面试题
1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答转载 2012-09-09 22:38:42 · 563 阅读 · 0 评论 -
杭电ACM1.2.1
#include#includeusing namespace std;int main(){int count,number,a,b,sum=0;vector vec;while(1){cin>>number;if(number==0)break;a=0;while(number--){cin>>b;if(a{sum+=(b原创 2013-03-25 12:16:22 · 1220 阅读 · 0 评论 -
2013.3.23 腾讯马拉松第二届第一题
思路,time()函数得到当前时间距离1970.1.1 0秒距今的一个秒数,然后加上或减去N天的秒数,再把得到的结果用localtime函数转换成tm结构体。注意:tm->tm_year需加上1900表示要求的年份,tm->tm_mon加上1表示要求的月份。转载请注明出处,不胜感激!!!#include #include #includeusing namesp原创 2013-03-24 22:00:15 · 598 阅读 · 0 评论 -
2013.3.23 腾讯马拉松第二届第四题 医生体检
思路:所有人加起来耗时N*K分钟,M个医生每分钟消耗N*K里面的M分钟,所以N*K/M即为所求,N*K/M有余数则必须加1,因为有K个项目所以至少要K分钟。转载请注明出处#include#includeusing namespace std;int main(){ int number; vector vec; int cnt; int N,M,K,sum;原创 2013-03-24 22:57:29 · 708 阅读 · 0 评论 -
c++多线程实现生产者消费者
生产和消费思路:生产时先扫描一遍buffer找到第一个为0(即没有产品)的位置,生产一个产品,并把产品编号(从1到10循环)存在这里。消费时先扫描一遍buffer找到第一个不为1(即有产品)的位置,消费一个产品,并使此时位置存的数0(即没有产品)结果示意图: Producer/consume:表示生产者或者消费者生产或消费的产品的位置以及产品号。如:Produce bu原创 2013-04-21 21:54:31 · 10680 阅读 · 0 评论 -
HDACM217 area
会用积分公式求面积就行,难度不大#includeint main(){ int n; double x1,y1,x2,y2,x3,y3,a,b,c,k,d,s,te; scanf("%d",&n); while(n--) { scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3); k=(y2-原创 2013-04-25 23:30:13 · 607 阅读 · 0 评论 -
HDACM218 小数转分数
纯循环小数0.99.......=1纯循环小数0.x……,如果x有n位则0.x……=x/[99……9(n位)]比如0.142857142857……=142857/999999=1/7混循环小数0.xy……其中y是循环节假设x有m位,y有n位则0.xy……=(xy-x)/[99……9(n位)00……0(m位)]比如0.21231231231231……=(21231-21)/99900=原创 2013-04-26 21:23:55 · 627 阅读 · 0 评论 -
HD214 Cake
求出p,q的最大公约数为r,p小,q大,最小公倍数s=p*q/r;先把蛋糕分成p份,每份1/s。剩下的平均分成(1-p/s)*q份,每份1/q。总份数为p+(1-p/s)*q=p+q-r即为所求代码如下#include int gys(int a,int b){ if(a%b==0) return b; else return gys(b,a%b);}原创 2013-04-18 23:18:28 · 498 阅读 · 0 评论 -
c++实现银行家算法
计算机操作系统(第三版,汤子瀛编著),按照书上给的5个进程的资源情况写的如下代码。写的不好, 请不要把我的代码原封不动交给老师。#include#include#includeusing namespace std;#define source_num 3unsigned int id=0;class Guest{public: Guest(unsigned原创 2013-04-27 19:59:10 · 2284 阅读 · 0 评论 -
Eclispe 下opencv显示摄像头拍摄的第一张图片
按照上一篇的文章配置好后,在cvTest工程里新建一个test.cpp:输入如下代码:#include "cv.h"#include #include #includeusing namespace cv;using namespace std;int main(int,char**){ VideoCapture cap(0);原创 2015-04-13 09:07:00 · 938 阅读 · 0 评论