快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

金沙国际娱城app_作家网进入



前面先容了第一种解法:C#实现根据输入的任何一个正整数找出相符这种要求的所有继续正整数序列(百度之星编程大年夜赛)

下面先容解法二了。

解法二,是抓小放大年夜。由小及大年夜。首先,说一说我阐发的思路吧。

第一步,照样判断i是不小于i/2,以此轮回了。

第二步,是不是判断此范围的值的累加是不是即是响应某个值。

第三步,将其输出

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

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

Console.WriteLine("请输入一个正整数");

int inputNum = Convert.ToInt32(Console.ReadLine());//是否继续的值的标识

bool flag = false;//响应的计数的变量

int i = 1, j = 2, sum = 0;//从inputNum、2开始计数了

while (i{

sum = add(i, j);while (sum != inputNum && i

{if (sum > inputNum)

i++;else

j++;sum = ad金沙国际娱城appd(i, j);

}/金沙国际娱城app/打印了响应的轮回

for (int k = i; ki; k++){

Con金沙国际娱城appsole.Write(k);

Console.Write(" ");

}i++;

Console.WriteLine();}

if (!flag)

{Console.WriteLine("NONE");

}Console.ReadKey();

//谋略累加的算法static int add(int m, int n金沙国际娱城app)

{int su金沙国际娱城appm = 0;

for (int i = m; i{

sum += i;}

return sum;}

这个算法的感化,便是看其经由过程轮回来看其是否相等的措施。

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

总而言之,这两种算法,各有所长吧。

您可能还会对下面的文章感兴趣: