怀念学校的生活
来源:互联网 发布:福建网络电视台帮帮团 编辑:程序博客网 时间:2024/06/09 23:08
今天闲着没事,想起了学校时学C语言时候印象最深的两个程序:打印99乘法表和求9宫图的解。99乘法表那个,让我知道了原来for还可以两层嵌套用;而9宫图的那个,当时写的是一个4x4的(其实是16宫),在学校的破机器上运行了2分钟多,得到了几千个解;记得张大傻(嘿嘿,别打我)当时还不相信有这么多的结果。丫的,好久没这厮的消息了。
怀念在学校里的生活!怀念玩红警魔兽、踢足球的日子!
//99乘法表
public class Table9mult9 {
public static void main(String[] args) {
for(int i =1 ;i<10 ;i++){
for(int j= 1; j<10 ;j++){
if(j<=i)
System.out.print(j +"*" + i +"=" + (i*j) +" " ) ;
if(i==j)
System.out.print("/n") ;
}
}
}
}
//九宫图求解
public class Grid9{
private int average ; //将1-9 填到9个格子里,每个格子的平均数
private int avg3Times ;
private int[] grid = new int[9]; //9个格子
private String stars ;
private int resultsNum ;
private static int getAverage(){
int sum = 0 ;
for(int i = 1;i<=9 ;i++){
sum += i;
}
return sum /9 ;
}
public Grid9(){
resultsNum = 0 ;
average = getAverage() ;
avg3Times = average * 3 ;
stars = "--------------------" ;
for(int i=0;i<9;i++){
grid[i] = 0 ;
}
}
//构造gird
public void generateGrid(int i,int j,int k ,
int ii,int jj,int kk,int iii,int jjj,int kkk){
if (i!=j && i!=k && i!= ii && i!=jj && i!=kk && i!=iii && i!= jjj && i!=kkk
&& j != k && j!=ii && j!= jj && j!= kk && j!=iii && j!=jjj && j!= kkk
&& k !=ii && k!=jj && k!= kk && k!=iii && k!=jjj && k!=kkk
&& ii!=jj && ii!=kk && ii!= iii && ii!=jjj && ii!= kkk
&& jj!=kk && jj!=iii && jj!=jjj && jj!= kkk
&& kk!=iii && kk!= jjj && kk!= kkk
&& iii!=jjj && iii!= kkk
&& jjj!=kkk
){
grid[0] = i ;
grid[1] = j ;
grid[2] = k ;
grid[3] = ii ;
grid[4] = jj ;
grid[5] = kk ;
grid[6] = iii ;
grid[7] = jjj ;
grid[8] = kkk ;
}else{
for (int index = 0; index < 9; index++) {
grid[index] = 0 ;
}
}
}
//打印 grid
public void printGrid(){
for (int i = 1; i <= 9; i++) {
System.out.print(grid[i-1] + " ") ;
if (i%3==0){
System.out.print("/n") ;
}
}
System.out.println(stars) ;
}
//得到第一行的和,以下依次
public int get1Row(){
return grid[0] +grid[1]+grid[2] ;
}
public int get2Row(){
return grid[3] +grid[4]+grid[5] ;
}
public int get3Row(){
return grid[6] +grid[7]+grid[8] ;
}
//得到列的和
public int get1Col() {
return grid[0] +grid[3]+grid[6] ;
}
public int get2Col() {
return grid[1] +grid[4]+grid[7] ;
}
public int get3Col() {
return grid[2] +grid[5]+grid[8] ;
}
//得到交叉的和
public int get1X (){
return grid[0] +grid[4]+grid[8] ;
}
public int get2X (){
return grid[2] +grid[4]+grid[6] ;
}
//判等:每行==每列==交叉的和
public boolean isEqual(){
return (get1Row()==avg3Times && get2Row()==avg3Times && get1Col()== avg3Times
&& get2Col() ==avg3Times &&get1X()==avg3Times && get2X() == avg3Times ) ;
}
//得到结果的个数:
public int getResultsNum(){
return resultsNum ;
}
//最笨的办法——遍历
public void getResults(){
for (int i = 1; i < 10 ; i++) {
for (int j = 1; j < 10; j++) {
for (int k = 1; k < 10; k++) {
for (int ii = 1; ii < 10; ii++) {
for (int jj = 1; jj < 10; jj++) {
for (int kk = 1; kk < 10; kk++) {
for (int iii = 1; iii < 10; iii++) {
for (int jjj = 1; jjj < 10; jjj++) {
for (int kkk = 1; kkk < 10; kkk++) {
generateGrid(i, j, k, ii, jj, kk, iii, jjj, kkk) ;
if( isEqual()){
printGrid () ;
resultsNum ++ ;
}
}
}
}
}
}
}
}
}
}
}
public static void main(String[] args) {
Grid9 grid9 = new Grid9();
System.out.println("starting...") ;
grid9.getResults() ;
System.out.println("end ") ;
System.out.println("results number: " + grid9.getResultsNum() ) ;
}
}
- 怀念学校的生活
- 学校的生活
- 我的学校生活
- 最后两天的学校生活
- 怀念万恶的旧生活[超级搞笑]
- 到了怀念旧时生活的年纪
- 谈谈那些年我怀念的生活
- 生活随笔:怀念在广州大学的日子
- 怀念以前在学校打CS的日子
- 工作4个月 有点怀念学校的网络中心,怀念李老师
- 学校生活
- 重新开始在学校的生活了
- 或许会怀念在学校(:消息类型:聊天记录):最珍惜的‘是’现在…
- 生活随笔:怀念大学时代
- 给师弟们学校最后生活的一些想法
- 怀念啊,怀念的书~~~
- 生活匆匆,有一个春天来临了,身在广州,怀念老家河南春暖花开的日子!
- 最近一直不想加班,总想到学校的生活,是多么的惬意。
- 决定成功的10种心态
- 制作Docbook文档
- 数据库性能优化几点记录
- 关于消息标记的使用?
- 123
- 怀念学校的生活
- 激烈矛盾中。。。
- 翻译:怎样检测你的计算机是否连接到Internet
- 巧合?coinsidence?
- Hello,.NET Compact Framework 2.0
- 2个经典的笑话
- JavaScript在页面间数据传输的使用
- Oracle10G Physical Standby Database笔记
- Blitz++ 计算二阶导数