一道百度之星编程大赛题的随笔联想·(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,第二种的方法进行了累加的算法,看其是否相等。并且这有两个指针的变量的相互的扫描。

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


目录
相关文章
|
4月前
|
Python
告别死记硬背:掌握Python正则表达式re模块的高效应用&[面向百度编程]
Python中正则表达式的高效应用,通过内置的`re`模块,讲解了如何匹配、提取和替换字符串,并提供了相关示例代码,同时提倡通过实践来掌握正则表达式的使用,而不是仅仅依赖网络搜索。
48 1
|
前端开发 JavaScript Java
阿里、腾讯、百度大厂的程序员编程指南规范
整理了几个大厂的编程规范,语言包含:**Javascript、Css、Java、C#**,这些文档不仅是初学者有必要看,有经验的程序员也是可以学习的,编程规范不仅是规则,更是可以从大厂的规范中学习到很多知识,比如大厂为什么这么订规范、他们是考虑原则是什么,带着类似问题的思考,都有非常有利于我们提高编程能力的。
1800 0
阿里、腾讯、百度大厂的程序员编程指南规范
|
人工智能 BI Windows
2021 年百度之星·程序设计大赛 - 初赛一、二
2021 年百度之星·程序设计大赛 - 初赛一、二
190 0
2021 年百度之星·程序设计大赛 - 初赛一、二
|
Java
2017"百度之星"程序设计大赛 - 复赛1001&&HDU 6144 Arithmetic of Bomb【java大模拟】
Arithmetic of Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 129    Accepted Submission(s): 94 Problem Description 众所周知,度度熊非常喜欢数字。
1429 0
|
Java Go
2017"百度之星"程序设计大赛 - 复赛1003&&HDU 6146 Pok&#233;mon GO【数学,递推,dp】
Pokémon GO Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 171    Accepted Submission(s): 104 Problem Description 众所周知,度度熊最近沉迷于 Pokémon GO。
1431 0
|
Java
2017"百度之星"程序设计大赛 - 复赛1005&&HDU 6148 Valley Numer【数位dp】
Valley Numer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 311    Accepted Submission(s): 165 Problem Description 众所周知,度度熊非常喜欢数字。
1461 0
|
机器学习/深度学习 人工智能 Java
2017"百度之星"程序设计大赛 - 资格赛【1001 Floyd求最小环 1002 歪解(并查集),1003 完全背包 1004 01背包 1005 打表找规律+卡特兰数】
度度熊保护村庄 Accepts: 13 Submissions: 488 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description 哗啦啦村袭击了喵哈哈村! 度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村。
1627 0
下一篇
无影云桌面