UnityC#循環結構解題

歡迎來到我的博客http://unity.gopedu.com/home.php?mod=space&uid=3352&do=blog&view=me&from=space

上次的問題

用π/4=1-1/3+1/5-1/7+…的公式求π的近似值,直到最後一項的

絕對值小於10-6爲止。(絕對值:Mathf.Abs()

這個問題的解題思路就是,先將1-1/3+1/5-1/7...的規律找出來,該式子可以寫成1/1+(-1/3)+1/5+(-1/7)...,這樣就是求和公式了,接下來是關鍵,可以將分子看成一個變量a,將分母看成一個變量b,這樣進行求和運算,b的增量可以寫成b=b+2a的符號變化可寫成a=-a,這樣就解出來了

float  sum=0,a=1,b=1;

while(Mathf.Abs(a/b)>=1e-6){

sum=sum+a/b;

b=b+2;

a=-a;

} print (sum*4);

continuebreak的區別

continue是退出當前循環操作繼續從循環開始時判斷進行下一次操作,而break是直接退出循環,下面舉個例子

使用continue計算1+3+5+...99

這道題的目的是清楚continue的用法,continue是退出當前循環操作繼續從循環開始時判斷進行下一次操作,所以本題就是循環1加到100,然後利用continue剔除偶數項,這樣這個問題就解出來了

int i, sum = 0;

for(i=1;i<=100;i++){

if(i%2==0){

continue;

} sum=sum+i;

print (i+"  "+sum);

再來一道綜合題,

定義一個整數,判斷這個數是幾位數。

解題思路就是用取餘或除法來進行判斷

int i,a = 1234567891,b=1;

for(i=1;i<=10000;i++){

b=b*10;

if(a%b==a){

print("該數爲"+i+"位數");

break;

}

}

 

 

 更多精彩請點擊http://www.gopedu.com/

發佈了36 篇原創文章 · 獲贊 4 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章