| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 857 人关注过本帖
标题:求更简洁的代码:有趣的数列
取消只看楼主 加入收藏
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
结帖率:96.15%
收藏
已结贴  问题点数:10 回复次数:3 
求更简洁的代码:有趣的数列
一、题目
    编程实现,将数列1,4,7,10,13,……依次如图排列成6行。左边第一列为第一列,以此排列,那么数349排在第几行第几列。
    1    4    7    10    13
    28   25   22   19    16
         31   34   37    40   43
    58   55   52   49    46
    61   64   67   70    73
               

二、代码
namespace Main方法
{
    class Program
    {
        static void Main(string[] args)
        {
            int count = 1,number=0;
            for (int i = 0; i < 200; i++)
            {
                if (i != 0 && i % 10 == 0) { count = count + 18; }  //转逆向输出时,增加18               
                if (i%10 < 5)
                {
                    if (i % 5 == 0) { Console.WriteLine(); number++; }
                    if ((number) % 2 != 0 && (number) % 3 == 0)
                    {
                        Console.Write("{0}\t{1}", " ", count);
                        count = count + 3;
                    }
                    else
                    {
                        Console.Write("{0}\t", count);
                        count = count + 3;
                    }
                }   //顺向输出行
                else
                {                  
                    if (i % 5 == 0) { Console.WriteLine(); count = count + 12; number++; }  //转顺向输出时,增加12
                    if ((number) % 2 != 0 && (number) % 3 == 0)
                    {
                        Console.Write("{0}\t{1}", " ", count);
                        count = count - 3;
                    }
                    else
                    {
                        Console.Write("{0}\t", count);
                        count = count - 3;
                    }
                }  //逆向输出行
            }
            Console.ReadKey ();           
        }
    }
}

三、探求:更为简洁的代码

    上述代码实现了题目的要求,在此,小虾探求更简洁的代码。请大侠们不吝赐教,小虾先谢谢各位了。
搜索更多相关主题的帖子: count number 
2014-08-16 16:23
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
收藏
得分:0 
qq82300356您好!
很不错了,用的时间也不长,代码也比我的简洁。
一个商榷的问题:题目要求第3行、9行、15行、……输出时,往右边缩进一格,有没有更好的方法来实现。

艰难地走在C#自学的路上…………
2014-08-17 09:10
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
收藏
得分:0 
不瞒群里的各位大侠,本道题是一道周期问题的奥数题,我想用程序来实现解答。感觉自己写的C#代码好像还是很复杂,所以在此求 更简洁 的代码。
1)比如:控制逆顺向输出数字的地方,我用+18,+12来实现的,此处能否有更简洁的代码——即更好的方法?
2)又如:我的代码中有没有多余的代码行,即可有可无的代码行是否存在?
请各位大侠高手,不吝赐教。谢谢!

艰难地走在C#自学的路上…………
2014-08-17 09:15
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
收藏
得分:0 
运行结果是:
图片附件: 游客没有浏览图片的权限,请 登录注册

艰难地走在C#自学的路上…………
2014-08-17 09:56
快速回复:求更简洁的代码:有趣的数列
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.161264 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved