大佬救救,70卡了一晚上了,1006,2这种数据总是会返回非0
查看原帖
大佬救救,70卡了一晚上了,1006,2这种数据总是会返回非0
1077407
jkluio1楼主2024/3/7 19:25
int main()
{
 double max = 0, v0, v, s1[10000] = { 0 };
	int  i = 0, index = 0 ,flag=0;
	cin >> v >> v0;
	do {
		i++;
		s1 [i-1] = 0.3 * i * sqrt(v /i - v0);//求总直径
		if (s1 [i-1]> 0)//直径大于0计算
		{ 
			if (s1 [i-1]> max)//求总直径的最大值
			{
				max = s1[i-1];//最大值赋值
				index = i;//最大值时球个数;
			}
			flag = 1;
		}
		else //第一次直径小于0直接退出;
		{
			if(flag==0){
			cout << "0"; return 0;}//如果第一次直径小于0直接返回0;
		}
	} while (s1[i-1] >0);//直径大于0;
	flag = 0;
	for (int j = 0; j <index; j++)
	{
		if (s1[j] == max)//遍历如果有第二个最大值,则返回0;
			flag++;
	     if(flag>1)
		 index = 0;
	}
		cout << index;
	return 0;
}
2024/3/7 19:25
加载中...