[২.৪] প্র্যাকটিস প্রব্লেমস (Practice Problems)
1. একটি ফাংশন লিখুন যেটি দুটি সংখ্যা প্যারামিটার হিসেবে নেয় , সংখ্যা দুটি যোগ করে এবং যোগফল return করে –
package main
import "fmt"
// implement the function sum(x,y) here
func main() {
x, y := 10, 20
result := sum(x, y)
fmt.Printf("The sum of %d and %d is %d\n", x, y, result)
}
// Output : The sum of 10 and 20 is 30
2. একটি ফাংশন লিখুন যেটি বিভিন্ন সংখ্যক একই ডাটা টাইপের ইনপুট আর্গুমেন্ট হিসেবে গ্রহণ করতে পারবে , সংখ্যা গুলো যোগ করে যোগফল return করবে –
package main
import "fmt"
// implement the function sumAll(arg... int) here
func main() {
arr1 := []int{1, 2, 3}
arr2 := []int{1, 2, 3, 4}
arr3 := []int{1, 2, 3, 4, 5}
result1 := sumAll(arr1...)
result2 := sumAll(arr2...)
result3 := sumAll(arr3...)
fmt.Println("sum of first array ", result1)
fmt.Println("sum of second array ", result2)
fmt.Println("sum of third array ", result3)
}
// Output :
// sum of first array 6
// sum of first array 10
// sum of first array 15
3. একটি ফাংশন লিখুন যেটি একটি ফাইল create করবে এবং ফাইলটিতে “Hello World” লিখার পর defer ব্যবহার করে ফাইলটি close করে দিবে –
package main
import (
"fmt"
"io/ioutil"
"log"
)
func main() {
// Create a file with file name example.txt
// close file
// Write something to example.txt
content, err := ioutil.ReadFile("example.txt")
if err != nil {
log.Fatal(err)
}
fmt.Println(string(content))
}
// Output : Hello, World!
4. একটি ফাংশন লিখুন যেটি একটি সংখ্যা প্যারামিটার হিসেবে নিবে এবং সংখ্যাটি ধনাত্মক হলে সংখ্যাটির square root এবং positive মেসেজ return করবে , অন্যথায় -1 এবং negative মেসেজ return করবে –
package main
import (
"fmt"
)
// implement check(n) function here
func main() {
var n int
fmt.Scan(&n)
result, message := check(n)
if message == "negative" {
fmt.Println("this is a negative number, So square root of ", n, " is impossible")
} else {
fmt.Println("square root of ", n, " is ", result)
}
}
// Output :
// 16
// square root of 16 is 4"
5. একটি ফাংশন লিখুন, যা একটি String রিসিভ করবে এবং একটি Boolean রিটার্ন করবে। যদি String এর সকল ক্যারেক্টার ব্যবহার করে পেলিনড্রম বানানো সম্ভব হয় তাহলে true, আর নয়তো false রিটার্ন করবে।
package main
import (
"fmt"
)
func isPalindromePossible(str string) bool
func main() {
str := "madam"
if isPalindromePossible(str) {
fmt.Printf("%q is a palindrome\n", str)
} else {
fmt.Printf("%q is not a palindrome\n", str)
}
}
6. একটি ফাংশন লিখুন, যা একটি ইন্টিজারের স্লাইস রিসিভ করবে এবং এর সংখ্যাগুলোর গড় রিটার্ন করবে।
package main
import "fmt"
func average(numbers []int) float64
func main() {
numbers := []int{1, 2, 3, 4, 5}
avg := average(numbers)
fmt.Printf("The average of %v is %.2f\n", numbers, avg)
}