在R内里玩数独
数独(Sudoku)一词来自日语,意思是“单独的数字”。它是一种填数字游戏,最初由十八世纪的瑞士数学家欧拉发现的。1984年日本益智杂志将其加以改善,并增加了难度,还为它取了新名字称做“数独”。1997年,一位爱尔兰人无意中在日本发明这个游戏,并编写了一个计较机措施来自动生成完整的数独方阵。2004年年底,伦敦《时报》开发了数独专栏,之后,世界各国数十家日报相继开发专栏来先容数独。专门先容这种娱乐的杂志和一本又一本的书籍如雨后春笋般涌现,相关的角逐,网站和博客等等,也一连不断地冒出来。
R语言拥有数千种扩展包,除了提供数据阐明之外尚有各类光怪陆离的成果。个中就包罗了sudoku包,它的主要成果包罗生成数独问题、解数独、玩数独,还可以举办导入和导出。
我们从这个数独网站来找一个数独题目,首先要将数独图转为一个文本文件。题目和转化后的形式如下:
-5—93-1
–1-437–
7-4–62–
-8–3192-
-6-4—5-
-73–5-8-
–79–6-4
–837-5–
3-95—7-
然后将其读入转化为矩阵x,即可由solveSudoku函数解出,虽然假如想挑战一下本身的话也可以用playSudoku(x)在R内里直接实验解题。
install.packages(“sudoku”);
library(sudoku);
x <- readSudoku(“sudoku.txt”);
y <- solveSudoku(x);
printSudoku(x);
printSudoku(y);
sudoku包不只可以解数独,还能自动生成数独题目,或是从英国的数独网站抓取当天的题目。具体用法请在R下输入呼吁:??sudoku