public List<AutoCompleteGroup> SetAchieveArithmetic(int groupNumber)
{
List<AutoCompleteGroup> autoCompleteList = new List<AutoCompleteGroup>();
if (groupNumber % 2 == 0) //偶数
{
int number = groupNumber / 2;
for (int i = 0; i < number; i++)
{
number = number - i;
AutoCompleteGroup autoComplete = new AutoCompleteGroup();
autoComplete.GradeType = i;
autoComplete.Number1 = number;
autoComplete.Number2 = groupNumber - autoComplete.Number1;
autoCompleteList.Add(autoComplete);
}
}
else //奇数
{
int number = (groupNumber - 1) / 2;
for (int i = 0; i < number; i++)
{
number = number - i;
AutoCompleteGroup autoComplete = new AutoCompleteGroup();
autoComplete.GradeType = i;
autoComplete.Number1 = number;
autoComplete.Number2 = groupNumber - autoComplete.Number1;
autoCompleteList.Add(autoComplete);
}
}
return autoCompleteList;
}
public class AutoCompleteGroup
{
/// <summary>
/// 优先等级 0为最高
/// </summary>
public int GradeType { get; set; }
/// <summary>
/// 成团数1
/// </summary>
public int Number1 { get; set; }
/// <summary>
/// 成团数2
/// </summary>
public int Number2 { get; set; }
}
这样子写存在 如果传入6 只能计算出 3-3 2-4 , 1-5出不来,谁能优化一下
number = number - i;这段代码有问题,
需要定义一个变量,
就可以了