关于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;
}
补充:还有一半在这里
132 | 160 | 1 |
133 | 57 | 0 |
134 | 136 | 1 |
135 | 371 | 1 |
136 | 114 | 1 |
137 | 199 | 2 |
138 | 80 | 1 |
139 | 240 | 1 |
140 | 231 | 1 |
141 | 187 | 1 |
142 | 274 | 0 |
143 | 152 | 1 |
144 | 173 | 1 |
145 | 189 | 1 |
146 | 234 | 1 |
147 | 229 | 1 |
148 | 160 | 1 |
149 | 231 | 1 |
150 | 229 | 1 |
151 | 195 | 1 |
152 | 204 | 0 |
153 | 114 | 1 |
154 | 199 | 1 |
155 | 80 | 0 |
156 | 240 | 0 |
157 | 231 | 1 |
158 | 187 | 0 |
159 | 274 | 0 |
160 | 152 | 2 |
161 | 173 | 0 |
162 | 221 | 0 |
163 | 121 | 1 |
164 | 80 | 1 |
165 | 90 | 0 |
166 | 222 | 0 |
167 | 145 | 1 |
168 | 160 | 1 |
169 | 231 | 0 |
170 | 229 | 1 |
171 | 114 | 1 |
172 | 199 | 1 |
173 | 80 | 1 |
174 | 240 | 1 |
175 | 231 | 2 |
176 | 187 | 0 |
177 | 274 | 1 |
178 | 152 | 1 |
179 | 173 | 1 |
180 | 221 | 1 |
181 | 121 | 1 |
182 | 80 | 1 |
183 | 90 | 1 |
184 | 222 | 1 |
185 | 145 | 1 |
186 | 121 | 1 |
187 | 80 | 1 |
188 | 90 | 1 |
189 | 222 | 1 |
190 | 145 | 1 |
191 | 160 | 1 |
192 | 57 | 1 |
193 | 145 | 1 |
194 | 121 | 0 |
195 | 80 | 1 |
196 | 90 | 1 |
197 | 222 | 0 |
198 | 335 | 1 |
199 | 187 | 1 |
200 | 258 | 1 |
201 | 286 | 1 |
202 | 356 | 1 |
203 | 175 | 1 |
204 | 229 | 0 |
205 | 160 | 1 |
206 | 145 | 1 |
207 | 121 | 2 |
208 | 80 | 1 |
209 | 90 | 1 |
210 | 222 | 1 |
211 | 335 | 0 |
212 | 187 | 1 |
213 | 258 | 1 |
214 | 231 | 1 |
215 | 229 | 0 |
216 | 195 | 1 |
217 | 204 | 0 |
218 | 257 | 0 |
219 | 167 | 1 |
220 | 160 | 0 |
221 | 231 | 1 |
222 | 57 | 1 |
223 | 136 | 1 |
224 | 371 | 1 |
225 | 240 | 2 |
226 | 231 | 1 |
227 | 187 | 0 |
228 | 221 | 1 |
229 | 121 | 1 |
230 | 80 | 1 |
231 | 90 | 1 |
232 | 222 | 1 |
233 | 145 | 1 |
234 | 231 | 1 |
235 | 229 | 1 |
236 | 195 | 0 |
237 | 204 | 1 |
238 | 114 | 1 |
239 | 199 | 0 |
240 | 80 | 1 |
241 | 240 | 1 |
242 | 231 | 1 |
243 | 249 | 1 |
244 | 175 | 1 |
245 | 192 | 1 |
246 | 187 | 1 |
247 | 149 | 0 |
248 | 265 | 1 |
249 | 231 | 1 |
250 | 283 | 1 |
251 | 195 | 1 |
252 | 204 | 2 |
253 | 257 | 1 |
254 | 167 | 1 |
255 | 114 | 1 |
256 | 199 | 0 |
257 | 80 | 1 |
258 | 240 | 1 |
259 | 231 | 1 |
260 | 249 | 1 |
261 | 175 | 0 |
262 | 192 | 1 |
263 | 218 | 0 |
264 | 135 | 0 |
追问:近年来,网络虚拟社区飞速发展,各种类型的社交网站层出不穷,首先产生的是以即时通讯软件为基础提供的博客平台,如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 |