两个RE,不知道为什么会在大一点的循环算死QAQ,感觉数组也够大啊
查看原帖
两个RE,不知道为什么会在大一点的循环算死QAQ,感觉数组也够大啊
422838
del_luna楼主2020/11/16 08:00
#include<stdio.h>
int main(void)
{
	int a[20], b[20], c[40], d[2000], m[200] = { 0 }, i, j, t, k = 0, max,f,g,h,x;
	scanf("%d%d%d", &f, &g, &h);
	for (i = 0, j = 1; i < f; i++)
	{
		a[i] = j;
		j += 1;
	}//设置骰子面数
	for (i = 0, j = 1; i < g; i++)
	{
		b[i] = j;
		j += 1;
	}//设置骰子面数
	for (i = 0, j = 1; i < h; i++)
	{
		c[i] = j;
		j += 1;
	}//设置骰子面数
	for (i = 0; i < f; i++)
	{
		for (j = 0; j < g; j++)
		{
			for (t = 0; t < h; t++)
			{
				d[k] = a[i] + b[j] + c[t];
				k += 1;
			}
		}
	}//算出三个面数和的所有可能性
	for (i = 3; i <=f+g+h; i++)
	{
		for (j = 0; j <f*g*h; j++)
		{
			if (d[j] == i)
				m[i] += 1;
		}
	}//算出各种面数和出现的次数
	max = m[3];
	for (i = 3; i <=f+g+h; i++)
	{
		if (m[i] > max)
		{
			max = m[i];
			x = i;
		}
	}//找到出现次数最多的那个值(面数和)
	printf("%d",x);
	return 0;
}
2020/11/16 08:00
加载中...