有乙個集合由a-z這26個字母組成,列印這個集合的所有子集,每個子集一行,寫c**實現,不能使用遞迴
假設只有三個字母abc,那麼子集有:
{}abcabacbc
abc
把abc看作三個位元位,分別為:
000100010
001110
101011
111
具體**:
這裡需要注意一點的就是,golang使用位運算的時候,使用的基礎資料型別是uint
package mainimport (
"fmt")
//輸出所有的子集
//n是要輸出的前幾個字母
func captitalletter(n uint
)
//這裡為什麼是2^n呢
//詳情看:
//var maxcount uint = 1
var j uint
for i = 0; i < maxcount; i++
}fmt.println()
}}func main()
求出所有LIS的可行起點
在做到codeforces1488e palindromic doubles 的時候,需要求出一段序列所有lis的可行起點,沒學過相關的做法,自己想了乙個。假設我們已知乙個lis陣列,其中lis i 代表以a i 結尾的最長lis,vis i true代表a i 可以是某條lis的其中一點,max ...
求出選修了所有課程的學生姓名
求出選修了所有課程的學生姓名 學生表 s sno int pk,sn varchar 8 sno為學號 sn為學生姓名。課程表 c cno int pk,cn varchar 50 cno為課程號,cn為課程名 選修表 sc sno int pk,cno int pk,score number 7,...
Python求出10000以內的所有互滿數
如果有兩個數,每乙個數的所有除它本身的約數之和等於對方,稱這兩個數為互滿數 def fun1 num fun1 求約數並將約數存放在list1 list1 for i in range 1,num if num i 0 return list1 for num1 in range 1,10000 l...