go函數練習

來源:互聯網
上載者:User

標籤:range   中文   範圍   inf   文字   print   迴文   net   imp   

1.編寫程式,在終端輸出九九乘法表。

package mainimport ("fmt")func main() {for i := 1; i <= 9; i++ {for j := 1; j <= i; j++ {fmt.Printf("%d*%d=%d%s", j, i, i*j, "\t")}fmt.Printf("%s", "\n")}}

 

2.一個數如果恰好等於它的因子之和,這個數就稱為“完數”。例如 1x6=6 2X3=6 1+2+3=6 1*28=28 2*14=28 4*7=28 1+2+4+7+14=28。編程找出1000以內的所有完數。

 

思路:先求因子數,所有和n去餘等於0的為該數的因子。 因子相加等於n的為完數

package mainimport ("fmt")func calc(n int) bool {var sum intfor i := 1; i < n; i++ {if n%i == 0 {sum += i}}return n == sum}func wanshu(n int) {for j := 1; j <= n; j++ {if calc(j) {fmt.Println(j)}}}func main() {var a intfmt.Scanf("%d", &a)wanshu(a)}

 

 

3.輸入一個字串,判斷其是否為迴文。迴文字串是指從左至右讀和從右至左讀完全相同的字串。

 思路

1 判斷迴文需要比較 str[0]與 str[len-1]  str[1] str[len-1-1]......是否相同

2 判斷不超過該字串的長度的一半

3 在go語言中需要判斷中文和英文所佔用的字元數

golang byte rune區別參考:79971395

package mainimport ("fmt")func judge(str string) bool {s := []rune(str)for key, _ := range s {if key == int(len(s)/2) {break}last := len(s) - key - 1if s[key] != s[last] {return false}}// for n := 0; n < len(str); n++ {// if n == int(len(str)/2) {// break// }// last := len(str) - n - 1// if str[n] != str[last] {// return false// }// }return true}func main() {var str1 stringfmt.Scanf("%s", &str1)result := judge(str1)if result {fmt.Println("完數")} else {fmt.Println("不是完數")}}

4.輸入一行字元,分別統計出其中英文字母、空格、數字和其它字元的個數。

 

5.計算兩個大數相加的和,這兩個大數會超過int64的表示範圍

go函數練習

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.