python代码如何转成c代码_把这个python转换成C语言代码

展开全部

# -*- coding: utf-8 -*-

import random

n, k = 30, 12

N = 10000000

cnt = 0

for _ in range(N):

GG = [random.random() for _ in range(n)]

for i in range(k-1, n):

if GG[i] > max(GG[:k-1]):

choice = i

if GG[choice] == max(GG):

cnt += 1

break

print(cnt)

print(cnt/N)#include

#include

#include

#define n 30

#define k 12

#define N 10000000

float max(float x[], int id)

{

float maxn = 0.0;

for (size_t i = 0; i < id; i++)

{

if (maxn < x[i])

{

maxn = x[i];

}

}

return maxn;

}

int maxi(float x[], int id)

{

int maxn = 0;

for (size_t i = 0; i < id; i++)

{

if (x[maxn] < x[i])

{

maxn = i;

}

}

return maxn;

}

float *GGer()

{

static float res[n + 2];

for (size_t i = 0; i < n; i++)

{

res[i] = (float)(rand() * rand()) / (float)(RAND_MAX * RAND_MAX + 1);

}

res[n] = max(res, k - 1);

res[n + 1] = max(res, n);

return res;

}

int cnter(float GG[])

{

static int res;

for (size_t i = k - 1; i < n; i++)

{

if (GG[i] > GG[n])

{

int choice = i;

if (GG[choice] == GG[n + 1])

{

res++;

}

break;

}

}

return res;

}

int main(int argc, char const *argv[])

{

// printer(mainloop(GGer, cnter([0])));

float *g;

int cnt;

srand(time(NULL)); //设置随机32313133353236313431303231363533e4b893e5b19e31333365653838数种子

for (size_t i = 0; i < N; i++)

{

g = GGer();

cnt = cnter(g);

}

printf("CNT=\t%d\n", cnt);

printf("CNT/N=\t%f\n", (cnt / (float)N));

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值