#include<iostream> #include<vector> #include <stdio.h> #include<stdlib.h> //生成随机数用 #include<time.h> //利用时间生成种子 #include<math.h> #define Time 51.2//争用期 using namespace std; int main() { double delaytime=0.0;//重传推迟时间, int p;//重传次数 cout<<"请输入重传次数"<<endl; cin>>p; if(p>16){ cout<<"向高层报告"<<endl; return 0; } int k=min(p,10); vector<int>v(11); v[0]=0; for(int i=1;i<11;i++){ v[i]=(v[i-1]+1)*2-1; } srand( time(NULL) ); int s=rand()%p; cout<<"得到的随机数是"<<s<<endl; cout<<"延迟"<<v[s]<<"个周期"<<endl; delaytime=v[s]*Time; cout<<"重传推迟时间是"<<delaytime<<endl; }