两种方式构造数独
2026/5/31 12:01:15 网站建设 项目流程


循环矩阵

publicstaticvoidmain(String[]args)throwsIOException{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));StreamTokenizerin=newStreamTokenizer(br);PrintWriterout=newPrintWriter(newOutputStreamWriter(System.out));in.nextToken();intn=(int)in.nval;in.nextToken();intk=(int)in.nval;int[]firstRow=newint[n];intq=k/n;intr=k%n;/** * sum(firstRow) = r*(q+1) + (n-r)*q = n*q + r = k */for(inti=0;i<n;i++){if(i<r){firstRow[i]=q+1;}else{firstRow[i]=q;}}for(inti=0;i<n;i++){for(intj=0;j<n;j++){//第i行是第一行循环左移 i 位的结果//加n可避免j-i为负数时取模出错out.print(firstRow[(j-i+n)%n]+(j==n-1?"":" "));}out.println();}out.flush();out.close();br.close();}

方法2-YYDS(有一点马叉虫)

publicstaticvoidmain(String[]args)throwsIOException{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));StreamTokenizerin=newStreamTokenizer(br);PrintWriterout=newPrintWriter(newOutputStreamWriter(System.out));in.nextToken();intn=(int)in.nval;in.nextToken();intk=(int)in.nval;for(inti=0;i<n;i++){for(intj=0;j<n;j++){if(i==j){out.print(k+(j==n-1?"":" "));}else{out.print(0+(j==n-1?"":" "));}}out.println();}out.flush();out.close();br.close();}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询