R语言中使用while循环求斐波那契数列前n项及奇数偶数和

while循环概述

while循环也被称为“当”型循环。即当条件为真时,执行循环体中,否则执行循环体后的其它语句(也可能没有)。在R语言中,while循环的语法格式如下:

while(cond){expr}

其中,cond是一个逻辑条件表达式,其值应为TRUE或FALSE;expr是循环体中的语句,即当cond条件为TRUE时要执行的表达式或若干语句。

R语言中使用while循环求斐波那契数列前n项及奇数偶数和

下面以几个经典的例子来说明while循环的具体使用方法。

输出向量中元素

x

i

n

while( i <= n) #i<=n时循环

{

print(x[i]) #输出x中第i个元素

i

}

R语言中使用while循环求斐波那契数列前n项及奇数偶数和

这个例子中先定义了一个向量x,i为循环计数,n为向量的长度(元素的个数),循环体中输出后再使i加1,当i<=n时,反复执行循环体,当i>n时,则退出循环体。

输出1~200之间的奇数和及偶数和

sum.odd

sum.even

i

while(i<=100)

{

if(i%%2==0)

sum.even = sum.even + i

else

sum.odd = sum.odd + i

i = i + 1

}

print(paste("奇数和为:" , sum.odd))

print(paste("偶数和为:" , sum.even))

R语言中使用while循环求斐波那契数列前n项及奇数偶数和

代码中的%%运算符是求模运算,即求两个数相除后的余数。我们知道,偶数除以2后,余数为0,奇数除以2后余数不为0(余数为1),则我们可以使用这个特点来判断一个数是偶数还是奇数。是偶数的话,我们把其加到sum.even中,否则加到sum.odd中,最后将其输出。

求1~100之间所有整数的和

i

sum

while( i <= 100)

{

sum

i

}

print(sum) #输出和

R语言中使用while循环求斐波那契数列前n项及奇数偶数和

这里先定义了一个计数变量i,又定义了一个保存和的变量sum,在循环体中,每次将i加入sum中,并使i加1。当i<=100时,执行循环体,否则跳出循环执行循环体后面的语句:print(sum)。

求Fibonacci数列的前N项

i

N

F

F[1]

while(i <= N)

{

F[i]

i

}

print(F)

R语言中使用while循环求斐波那契数列前n项及奇数偶数和

求斐波那契数列的前n项是编程语言中较经典的例子。这里的i是表示第几项,这里从第3项开始。斐波那契数列的前2项都是1,从第三项开始,每项是前两项的和,利用这一特点递归求其它项。

如果你有更好的算法,更好的例子,欢迎欢迎留言告诉每个人。

欢迎关注本号,本号定期更新R语言方面的文章,内容由浅入深,由基本语法到具体的数据分析应用。希望你能喜欢。


分享到:


相關文章: