当前位置:编程学习 > C/C++ >>

关于C++的程序。。。

  • 程序一    求解好友的好友的好友数分布

#include <iostream>

#include <fstream>

#include <math.h>

#include <time.h>

#include <stdlib.h>

#include <stdio.h>

using namespace std;

 

int a[72]={47,57,58,80,90,114,119,121,124,127,130,135,136,138,145,146,149,151,152,153,160,161,162,164,166,167,172,173,175,176,183,187,189,192,194,195,199,204,207,212,214,218,221,222,229,231,234,237,238,240,241,247,249,253,257,258,265,271,274,282,283,286,293,300,302,318,335,351,354,356,371,500};

double b[12]={0.026515152,0.117424242,0.132575758,0.261363636,0.242424242,0.125,0.041666667,0.034090909,0.015151515,0,0,0.003787879};

int c[72]={1,5,1,15,8,7,1,8,1,2,1,1,4,1,8,1,2,1,4,1,11,1,1,1,1,5,1,4,7,1,1,12,3,4,2,7,7,8,1,1,1,2,5,8,12,21,3,1,1,8,1,1,3,1,6,5,3,1,4,1,2,3,1,2,1,1,4,1,1,3,4,1};

double d[12];

 

void main()

{

  double num[72][12],s,k,r[12];

  int p;

  int mycmp(void const *p,void const *q);

  int i,j,l,kk;

  ofstream ofile1("md1.txt",ios_base::out);

  ofstream ofile2("md2.txt",ios_base::out);

  srand((unsigned)time(NULL));

  for (i=0;i<72;i++)

  {

         k=0;

         for (j=0;j<12;j++)

         {

                num[i][j]=a[i]*b[j];

                d[j]=num[i][j]-floor(num[i][j]);

                k+=d[j];

         }

         qsort(d,12,sizeof(double),mycmp);

         s=(d[5]+d[6])/2;

         k=k/12;

         s=(s+k+0.5)/3;

         p=0;

         for (j=0;j<12;j++)

                if ((num[i][j]-floor(num[i][j]))>s)

                {

                       p+=ceil(num[i][j]);

                       r[j]=ceil(num[i][j]);

                }

                else

                {

                       p+=floor(num[i][j]);

                       r[j]=floor(num[i][j]);

                }

         for (j=0;j<c[i];j++)

         {

                for (l=0;l<12;l++)

                       for (kk=0;kk<r[l];kk++)

                              ofile2<<rand()%40+40*(l+1)<<" ";

                ofile2<<endl;

                ofile1<<p<<" "<<p-a[i]<<endl;

         }

  }

  ofile1.close();

  ofile2.close();

}

 

int mycmp(void const *p,void const *q)

{

  double *a=(double *)p,*b=(double *)q;

  if (*a>*b) return 1;

  else if (*a<*b) return -1;

  else return 0;

}

补充:还有一半在这里
1321601
133570
1341361
1353711
1361141
1371992
138801
1392401
1402311
1411871
1422740
1431521
1441731
1451891
1462341
1472291
1481601
1492311
1502291
1511951
1522040
1531141
1541991
155800
1562400
1572311
1581870
1592740
1601522
1611730
1622210
1631211
164801
165900
1662220
1671451
1681601
1692310
1702291
1711141
1721991
173801
1742401
1752312
1761870
1772741
1781521
1791731
1802211
1811211
182801
183901
1842221
1851451
1861211
187801
188901
1892221
1901451
1911601
192571
1931451
1941210
195801
196901
1972220
1983351
1991871
2002581
2012861
2023561
2031751
2042290
2051601
2061451
2071212
208801
209901
2102221
2113350
2121871
2132581
2142311
2152290
2161951
2172040
2182570
2191671
2201600
2212311
222571
2231361
2243711
2252402
2262311
2271870
2282211
2291211
230801
231901
2322221
2331451
2342311
2352291
2361950
2372041
2381141
2391990
240801
2412401
2422311
2432491
2441751
2451921
2461871
2471490
2482651
2492311
2502831
2511951
2522042
2532571
2541671
2551141
2561990
257801
2582401
2592311
2602491
2611750
2621921
2632180
2641350
追问:

近年来,网络虚拟社区飞速发展,各种类型的社交网站层出不穷,首先产生的是以即时通讯软件为基础提供的博客平台,如QQ、MSN等;随后在美国以facebook为代表、在国内的校内网等为代表的实名社交网站迅速壮大。这些虚拟社区给人们一个崭新的全方位的互动交流平台,极大的提高了用户之间交流的频率、丰富了用户之间交流的渠道、降低了用户之间交流的成本。日志、相册、音乐、视频、applet程序等多媒体技术不断应用到网络虚拟社区中。

用户可以在社交网站上实名注册,并填写个人基本信息。用户每次上社交网都会进入自己的页面。页面的主要部分是新鲜事列表,对页面的基本操作有:查看新鲜事、留言、发表或分享日志。用户所做的一个基本操作都会记录在朋友的新鲜事列表中,依时序由现在到过去排列,最早发生的新鲜事排在最后。考虑到每名用户的耐心,只会浏览最近发生的30条新鲜事。

由于多媒体技术越来越广泛的得到应用,网络虚拟社区的网络安全风险日益增加。用户通过各种方式上传的各种各类数据都可能含有病毒或恶意程序,进而危害网络安全。因此统计上传数据在单位时间的浏览人数的变化规律是网络安全领域的一项基础研究。这对于分析和查找网络虚拟社区中的关键用户,控制病毒和恶意软件传播是很有帮助的。

问题一:以西安交通大学内的社交网站用户群体为研究对象,该群体的用户每天在8:00-23:00间随机的上一次社交网站,查看新鲜事列表中的新鲜事,并在网站上执行一些基本操作,该群体中的麦兜同学的好友列表里有264名好友,他在9:00发表了一篇日志,请问这一天浏览该日志的人数变化情况。

问题二:如果可以对日志进行留言或评论,被留言用户的好友新鲜事列表会有相应的记录,看到该日志并留言的概率是0.3,请问这一天好友看到该新鲜事后会去浏览的人数变化情况。

问题三:如果可以对日志进行分享,分享和被分享用户的好友新鲜事列表会有相应的记录,看到该日志并分享的概率是0.7,请问这一天好友看到该新鲜事后会去浏览的人数变化情况。

问题四:有一种特殊的日志叫“你被点名了”,该日志由20个问题组成,被“点名”的人回答完问题后以日志的形式发表,然后将其中你最不喜欢的三个问题去掉,加上三个不重复的你喜欢的问题,然后传给你的4个好友,依次进行下去。存在被多次“点名”的情况,用户按一定概率参与游戏,请问被“点名”人数的变化情况。

表1

被点名次数

参与概率

0

95

1

40

2

15

3

0

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,