四川大学线下编程比赛第一题:数字填充 (java实现)

用Pixhawk 2.4.8和PX4 1.13,从零搭建你的第一支无人机编队(附避坑清单) 本文详细介绍了如何使用Pixhawk 2.4.8飞控和PX4 1.13固件从零搭建低成本无人机编队系统。涵盖硬件选型、固件配置、多机通信和编队飞行逻辑开发的全流程,特别针对学生和爱好者提供实战验证的避坑方案,帮助实现多机协同飞行。 阅读详情

原题位置:http://student.youkuaiyun.com/mcs/programming_challenges

题目意思:

peter喜欢玩数字游戏,但数独这样的游戏对他来说太简单了,于是他准备玩一个难的游戏。游戏规则是在一个N*N的表格里填数,规则:对于每个输入的N,从左上角开始,总是以对角线为起点,先横着填,再竖着填。这里给了一些样例,请在样例中找到规律并把这个N*N的表格打印出来吧。

输入描述:

多组测试数据(数据量在100组以内)。每组测试数据只有一行为一个整数N(1<=N<=30),表示表格的大小。

输出描述:

对于每组输入数据,输出N行,为填完的表格(N行,每行N个整数,每个数字之间用空格隔开。

答题说明:

输入样例:

3

5

输出样例:

1 2 3

4 6 7

5 8 9

1 2 3 4 5

6 10 11 12 13

7 14 17 18 19

8 15 20 22 23

9 16 21 24 25


分析如下:

先是横向开始填充数字(从1开始,到最后的数字是n*n)

当横向填充满后,开始纵向的填充,直到纵向填充满了,又继续横向填充,依次循环,知道最后一个数字。

看图就知道了,每次记录這个黑点的位置,然后在這个点的横向或者纵向填充数字。



下面使用java实现的代码

package com.act262.test;

import java.util.Scanner;

public class P {

	public static void main(String[] args) {

		test1();
	}

	private static void test1() {
		Scanner in = new Scanner(System.in);

		while (in.hasNext()) {
			int n = in.nextInt();
			if (n > 30 || n < 1) {
				System.out.println("invalid input");
				System.exit(0);
			}

			// 建立一个n*n的二维表格
			int[][] sheet = new int[n][n];

			// 数据填充
			int count = n * n;// 总数量

			int x = 0; // 横向位置
			int y = 0;// 纵向位置
			int k = 1;// 当前的值

			int a, b; //位置记录
			while (k <= count) {
				sheet[y][x] = k++;

				// 记录了对角线的坐标位置
				a = y + 1;
				b = x + 1;

				// 横向填充
				while (b < n) {
					sheet[y][b++] = k++;
				}

				// 纵向填充
				while (a < n) {
					sheet[a++][x] = k++;
				}

				// 坐标位置向对角线方向移动一个单位
				x++;
				y++;

			}

			// 输出数据
			for (int i = 0; i < sheet.length; i++) {
				for (int j = 0; j < sheet[i].length; j++) {
					System.out.print(sheet[i][j] + " ");
				}
				System.out.println();
			}

		}

		in.close();
	}

}




彻底讲透 SAP 中的 client-safe:从 CDS、AMDP 到 ABAP Cloud 的客户端隔离设计 SAP系统中的client-safe概念定义了技术边界:访问client-dependent数据的对象必须确保只看到单个client数据,而访问client-independent数据的对象则天然满足条件。这一原则直接影响CDS视图、AMDP等核心组件,并与ABAP Cloud开发模型紧密集成。在业务系统中,client isolation要求用户只能看到当前登录client的数据。SAP通过语言版本、对象规则和静态检查强制执行这一约束,特别是在ABAP Cloud开发中,AMDP方法和发布的API必须满足 阅读详情

相关推荐

工业组态软件Intouch(单机版)入门{第二篇}

第5步:*都装好之后,需要进行测试授权是否生效,测试1:能否正常运行项目和编辑项目(能否编辑项目,取决于你的授权是否包含开发功能,如果只是单一的runtime授权,则只能运行项目,不能编辑项目)。在线第3步:点击第一个框右边的按钮,弹出文件浏览窗口,选中你的XMl授权文件,打开,然后你的授权出现在下方的列表中,勾选你的授权,然后点击Activate,等待几秒,授权就会出现在管理器页面的列表中,并且Status会显示Activated。第1步:软件安装好之后,先要配置好授权服务器。等待几秒,激活完成。

weixin_41571357的博客 1万+

Java 数字前自动填充补0

String str = new DecimalFormat("00000").format(1); 结果:str=“00001” 前面的“00000”表示:自动填充0至5位数 如果写成“000”,则 str=“001” 如果写成“22222”,则str=“22221” 后面的1表示:需要自动填充的数字 如果写成2,则str=“00002” 如果是小数:则会舍入为整数(舍入规则暂未搞清) 如果写成1.500000000001:则str=“0000...

weixin_45253080的博客 3061

基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践

本文详细介绍了基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践。通过环境配置、PX4仿真环境搭建、自定义消息生成、Simulink通信实现及实时优化等步骤,提供了完整的无人机位置控制案例,帮助开发者实现高精度的实时联合仿真。

red88的博客 203

java将数字填充0到8位

用Java将数字填充0到8位 在Java编程中,有时候我们需要将数字填充到指定的位数,比如要求一个数字始终是8位数,不足的地方用0来填充。这在某些情况下很有用,比如在数据库中存储固定长度的数字。在本文中,我们将介绍如何使用Java来实现这一功能。 String.format方法 Java中可以使用String类提供的for...

weixin_33264203的博客 382

某音播放量查询,播放量接口研究,最新版本抓包,修改SO文件绕过SSL

本教程适用于某音27.8,64位版本,32为版本及某音旁侧版本修改方法大同小异,部分旁侧版本修改之后模拟器可能无法抓包,真机测试均可正常抓包,此方法修改后绝大部分包可以正常抓取,但部分包无法抓取,例如验证码,内置浏览器功能,如需抓取此类包可通过 Postern + Charles 实现。

byalipus的博客 1万+

动态库加载失败终极指南:从libbz2.so.1错误看Linux依赖管理本质

本文以经典的libbz2.so.1加载错误为例,深入剖析Linux动态链接库管理的核心机制。文章不仅提供从ldd检查、符号链接创建到LD_LIBRARY_PATH设置等实战解决方案,更系统性地讲解了动态链接器的寻库路径、版本管理及依赖问题预防策略,帮助开发者从根本上理解和掌握Linux依赖管理本质。

weixin_29212429的博客 447

Java:字符串/数字左右填充“0”

4、自定义方法 append拼接。0代表前面要补的字符。d表示参数为整数类型。

一些平时在开发过程中遇到的常见问题,分享给大家 1722

9 海康视觉平台VisionMaster 上手系列:典型案例之螺丝机案例

海康视觉平台VisionMaster 上手系列:典型案例之螺丝机案例 快速入门 工业机器视觉 机器视觉

HuangGong2022的博客 7174

蓝桥旧题_数字填充问题

问题:方格填数 如下的10个格子 ±-±-±-+ | | | | ±-±-±-±-+ | | | | | ±-±-±-±-+ | | | | ±-±-±-+ 填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 思考:方格填数问...

k_ys的博客 285

Windows下玩转Spark:零基础本地集群搭建与实战演示

本文详细介绍了在Windows系统下零基础搭建Spark本地集群的完整流程,包括环境准备、集群启动、实战案例演示及性能优化技巧。通过Standalone模式快速部署,结合WordCount等经典案例帮助初学者快速掌握Spark数据处理,特别适合Windows环境下的大数据开发入门学习。

weixin_33734785的博客 425

Testbench编写:激励生成、响应监控、仿真时间控制

本文介绍了Verilog/VHDL Testbench的核心技术,重点阐述了激励生成、响应监控和仿真时间控制三大关键环节。通过时钟生成、复位信号生成等具体代码示例,展示了如何有效构建测试平台。文章还总结了波形输出、自动检查等验证方法,并提出了模块化设计、自动化检查等最佳实践,帮助开发者提升FPGA仿真效率和验证质量。这些技术要点为数字电路设计的正确性验证提供了系统化的解决方案。

2301_79143213的博客 111

java 保留字符串数字的位数,不够前面补0

@Test public void test() { this.printToConsole(autoGenericCode("10011")); this.printToConsole(autoGenericCode("000",3)); } /** * 不够位数的在前面补0,保留code的长度位数字 ...

weixin_33971977的博客 1875

SAP BTP Trial 生命周期全解析:90 天试用、30 天活跃规则、Kyma 有效期与向 Free Tier 的顺滑迁移

摘要: SAP BTP免费试用账号(trial)提供90天有效期,需每30天登录一次保持活跃状态。Kyma运行时有效期仅14天,需特别注意重建。到期后数据不可恢复,建议将关键配置脚本化并保存。若需长期使用,可迁移至无时间限制的免费层(free tier)。文章详细拆解了试用生命周期规则,包括续期、删除机制,并针对CAP开发、集成套件和Kyma等场景提供实操建议,帮助用户规避常见误区,高效利用试用资源。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 367

四川大学线下编程比赛第一题:数字填充

四川大学线下编程比赛第一题:数字填充 发布公司: 有 效 期: 优快云 2014-09-27至2015-09-26 难 度 等 级: 答 题 时 长: 编程语言要求: 120分钟 C C++ Java C# 题目详情 peter喜欢玩数字游戏,但数独这样的游戏对他来说太简单了,于是他准备玩一个难的游戏。游戏规则

Jinbao 1764

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

优快云 四川大学线下编程比赛第一题:数字填充

四川大学线下编程比赛第一题:数字填充 发布公司: 有 效 期: 优快云 2014-09-27至2015-09-26 难 度 等 级: 答 题 时 长: 编程语言要求: 120分钟 C C++ Java C# 题目详情 peter喜欢玩数字游戏,但数独这样的游戏对他来说太简单了,于是他准备玩一个难的游戏。游戏规则是在一个N*N的表格里

youngkl博客 1168

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java 填充字符串,填充数字,直到字符串是在java中8个字符长?

i was reading and couldn't find quite the snippet. I am looking for a function that takes in a string and left pads zeros (0) until the entire string is 8 digits long. All the other snippets i find on...

weixin_36025345的博客 414

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java补充0 java数字左侧补零补0 NumberFormat实现数字左侧补0

java补充0 java数字左侧补零补0 NumberFormat实现数字左侧补0 一、提出需求 1、在做一个编号生成规则中,有个规则如下: 编码序号为 5 位数,不足部分左侧补0。 二、代码实现 1、使用 java.text.NumberFormat 实现 /** * description: 格式化数字,实现左侧补 0. * @param num 格式...

HaHa_Sir的博客 2万+

java在数字前面自动补零的方法

/**   * 将元数据前补零,补后的总长度为指定的长度,以字符串的形式返回   * @param sourceDate   * @param formatLength   * @return 重组后的数据   */   public static String frontCompWithZore(int sourceDate,int formatLength)   {   /*

quanquan_i的专栏 2700

java 一个数字的位数不够怎么在前面加0

import java.text.DecimalFormat; //(1)、如果数字1是字符串,如下处理: String str1="1"; DecimalFormat df=new DecimalFormat("0000"); String str2=df.format(Integer.parseInt(str1)); System.out.println

u012626724的博客 1万+

数字转字符串补零

Java实现数字转化成字符串左边自动补零方法1. Java 中给数字左边补02.(个人以为该方法简单有效,但经试验似乎String.format()函数有问题) 1. Java 中给数字左边补0 import java.text.NumberFormat; public class NumberFormatTest { public static void main(String[] args) { //待测试数据 int i = 1; //得到一

whk_15502266662的博客 1477

java数字转换为字符串,长度不够前面补0

1、 第一种字符串补0public static String addZeroForNum(String str, int strLength) {    int strLen = str.length();    StringBuffer sb = null;     while (strLen &lt; strLength) {           sb = new StringBuffer(...

zjxbllg2008的专栏 1万+

Java数字转字符串自动补0的实现

int n = 19; //%0代表前面补充0, 4代表长度为4, d代表参数为十进制整数 String str = String.format("%04d", n); System.out.println(str); //0019

斌斌(Java) 3753
下一篇: 欢迎使用优快云-markdown编辑器
act262
博客等级 码龄15年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值