数据拆分
例如:5 拆分为
5 = 4 + 1
5 = 3 + 1 + 1
5 = 2 + 1 + 1 + 1
5 = 1 + 1 + 1 + 1 + 1
5 = 2 + 3
//====================================================================
C#代码
/// <summary>
/// 数字拆分
/// </summary>
/// <param name="num">要拆分的数字</param>
/// <returns></returns>
private string SumNum(int num)
{
string str = "";
if (num <= 1 || num >= int.MaxValue)
{
//确定有效范围数字不能小于1
//不能大于int最大值(int最大值 int.MaxValue = 2147483647)
return str;
}
int prv = num - 1;
while (prv > 0)
{
int idx = prv;
str += num + " = " + prv + " + ";
while (idx < num)
{
if (idx < num - 1)
{
str += "1 + ";
}
else
{
str += "1";
}
idx++;
}
str += "\r\n";
prv--;
}
prv = 2;
while (prv <= num / 2)
{
str += num + " = " + prv + " + ";
int sum = 0;
for (int i = prv; i < num; i++)
{
sum += 1;
}
str += sum + "\r\n";
prv++;
}
return str;
}
标签:num,数字,idx,int,拆分,prv,str 来源: https://blog.51cto.com/u_15204856/2806329
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。