正文

丢硬币:正面朝上的最大连续序列--passed!2009-08-27 20:54:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/shao/47192.html

分享到:

 

 

 

#include<iostream>
#include<ctime>
#include<string>
using namespace std;


int main()
{
 //create sequence:
 static int m=1;
 int digits[1000],max[600],i=0;
 srand((unsigned)time(0)); //如果用srand(time(0))会有警告
 for(i=0;i<1000;i++)
  digits[i]=rand()%2;
 for(i=0;i<1000;i++)
  cout<<digits[i];
 cout<<endl<<endl;
 // deal with sequence:
 
 //memset(max,1,600*sizeof(max));
 for(i=0;i<600;i++)
 {
  max[i]=1;
 }
 for(i=0;i<1000;i++)   //注意max[m]的初始化
 {
  if(digits[i]==1)
  {
   max[m]++;
  }
  else
  {
   m++;
  }
 }
 cout<<"m: "<<m<<endl;
 int maximum=max[0];
 for(i=0;i<m;i++)
 {
  if(maximum<max[i+1])
            maximum=max[i+1];
 }
 cout<<"Result: "<<maximum<<endl;

 return 0;
}

 

 

阅读(1360) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册