一道百度之星编程大赛题的随笔联想·(2)-阿里云开发者社区

开发者社区> 人工智能> 正文
登录阅读全文

一道百度之星编程大赛题的随笔联想·(2)

简介:

百度之星,是全球最大的中文搜索引擎,百度公司面向中国高校学生和编程爱好者所举办的高水平的程序设计大赛。他所考试的题目,全部都是算法的题目。

鄙人虽然是一个.net程序员,在工作之余,喜爱算法。 我觉得这个题目有点意思,故而分享给大家,我想到两种方法,提供大家,希望对大家起了一个开阔思路的作用。

下面介绍解法二了。

 解法二,是抓小放大。  由小及大。首先,说一说我分析的思路吧。

 第一步,还是判断i是不小于i/2,以此循环了。

 第二步,是不是判断此范围的值的累加是不是等于相应某个值。

第三步,将其输出

第四步,如果没有就输出none这个值。

下面我们就看相应的源代码了


 1    Console.WriteLine("请输入一个正整数");
 2             int inputNum = Convert.ToInt32(Console.ReadLine());
 3           //  是否连续的值的标识
 4           bool flag = false;
 5              //相应的计数的变量
 6             int i = 1, j = 2, sum = 0;
 7            //从inputNum、2开始计数了
 8             while (i < inputNum / 2)
 9             {
10                 sum = add(i, j);
11                 while (sum != inputNum && i < inputNum / 2 + 1)
12                 {
13                     if (sum > inputNum)
14                         i++;
15                     else
16                         j++;
17                     sum = add(i, j);
18                 }
19                    //打印了相应的循环
20                 for (int k = i; k <= j && j > i; k++)
21                 {
22 
23                     Console.Write(k);
24 
25                     Console.Write(" ");
26                 }
27                 i++;
28                 Console.WriteLine();
29             }
30 
31             if (!flag)
32             {
33                 Console.WriteLine("NONE");
34             }
35             Console.ReadKey();
36          //计算累加的算法 
37        static int add(int m, int n)
38         {
39             int sum = 0;
40             for (int i = m; i <= n; i++)
41             {
42                 sum += i;
43             }
44             return sum;
45         }

这个算法的作用,就是看其通过循环来看其是否相等的方法。

他与第一种的算法,有所不同,第一种方法是从其减 ,看其能否得0,第二种的方法进行了累加的算法,看其是否相等。并且这有两个指针的变量的相互的扫描。

总而言之,这两种算法,各有千秋吧。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

其他文章
最新文章
相关文章