思维体操:用c#简单实现按一定规则输出有序数列
要求:输入一个整数num,打印出如下规则的一组数字:
代码
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
... ...
2 3
4 5 6
7 8 9 10
11 12 13 14 15
... ...
比如输入数字7,应该有如下输出:
1
2 3
4 5 6
7
2 3
4 5 6
7
下面是用c#的简单实现:

public static void Print(int num)
{
int counter = 1;
for (int i = 0; i < num; i++)
{
StringBuilder sb = new StringBuilder(100);
for (int j = 0; j < i + 1; j++)
{
int output = j + counter;
sb.AppendFormat("{0} ", output);
if (j == i)
{
counter = output + 1;//下一行的第一个数字是前一行的最后一个加1
}
if (output == num)
{
counter = num;//是最后一个数字 跳出循环
break;
}
}
Console.WriteLine(sb.ToString());
if (counter == num)
{
return;
}
}
}
static void Main(string[] args)
{
Print(1);
Console.WriteLine("--------------");
Print(7);
Console.WriteLine("--------------");
Print(10);
Console.WriteLine("--------------");
Print(15);
Console.WriteLine("--------------");
Print(30);
}
{
int counter = 1;
for (int i = 0; i < num; i++)
{
StringBuilder sb = new StringBuilder(100);
for (int j = 0; j < i + 1; j++)
{
int output = j + counter;
sb.AppendFormat("{0} ", output);
if (j == i)
{
counter = output + 1;//下一行的第一个数字是前一行的最后一个加1
}
if (output == num)
{
counter = num;//是最后一个数字 跳出循环
break;
}
}
Console.WriteLine(sb.ToString());
if (counter == num)
{
return;
}
}
}
static void Main(string[] args)
{
Print(1);
Console.WriteLine("--------------");
Print(7);
Console.WriteLine("--------------");
Print(10);
Console.WriteLine("--------------");
Print(15);
Console.WriteLine("--------------");
Print(30);
}
分析上面的代码,我个人认为这是最简单明了符合常规认知的一种实现:要输出有序序列的数字,找出数字排列的规律,找到这个规律,最后就是水到渠成的编程实现罢了。
最后卖个关子,其实它还有一种代码更加简洁的实现,是从某高手那里偷师的,大家不妨动手练习一下吧,这个还是很能考验一个人的逻辑思维的。
作者:Jeff Wong
出处:http://jeffwongishandsome.cnblogs.com/
本文版权归作者和博客园共有,欢迎围观转载。转载时请您务必在文章明显位置给出原文链接,谢谢您的合作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库