初始化项目

This commit is contained in:
皮蛋13361098506
2025-01-06 16:01:02 +08:00
commit 1b77f62820
575 changed files with 69193 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
package intUtil
import (
"fmt"
"math/rand"
"time"
)
// ShuffleIntDigits 打乱整数的各个数字位置并返回新的整数
func ShuffleIntDigits(num int64) (int64, error) {
if num < 0 {
return 0, fmt.Errorf("number must be non-negative")
}
var digits []int64
for num > 0 {
digits = append(digits, num%10)
num /= 10
}
// 如果原始数字是0直接返回
if len(digits) == 0 {
return 0, nil
}
// 反转切片以保持原来的数字顺序
for i, j := 0, len(digits)-1; i < j; i, j = i+1, j-1 {
digits[i], digits[j] = digits[j], digits[i]
}
// 打乱数字切片
rand.Seed(time.Now().UnixNano())
rand.Shuffle(len(digits), func(i, j int) {
digits[i], digits[j] = digits[j], digits[i]
})
// 重新组合为新的整数
result := int64(0)
for _, digit := range digits {
result = result*10 + digit
}
return result, nil
}

View File

@@ -0,0 +1,16 @@
package intUtil
import (
"fmt"
"testing"
)
func Test1(t *testing.T) {
var originalNum int64 = 1234567891011121314
shuffledNum, err := ShuffleIntDigits(int64(originalNum))
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("Original number: %d\nShuffled number: %d\n", originalNum, shuffledNum)
}