C# 或Java 怎么实现类似 传入6 得到 3-3,2-4,1-5 ,传入5得到2-3,1-4这样的效果
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出不来,谁能优化一下
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
number = number - i;这段代码有问题,
需要定义一个变量,
就可以了