首页 > 试题广场 >

魔法表

[编程题]魔法表
  • 热度指数:1942 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
时辰送给了她的女儿凛一块魔法表,但是魔法表的表针总是指向奇怪的地方,所以凛决定修理一下这块表。当前表的指针指向了一个方向 𝑛1 (在 0 度到 359 度之间,正北方向是 0 度, 正东方向是 90 度),她需要将表针调节到方向 𝑛2 。她可以选择顺时针旋转表针,也可以逆时针旋转表针,若顺时针旋转的话,角度会增大,逆时针旋转则角度会减小。当顺时针旋转 到 359 度后,若再旋转一度,则会回到 0 度。凛想要让表针旋转的角度尽量小,也就是以 最短路径旋转到正确的方向,请你告诉她应该如何旋转。 当有多种旋转方式能够旋到正确的方向,且旋转过的角度相同时,凛会选择顺时针旋转。

数据范围:

输入描述:
第一行包含一个整数𝑛1 ,表示表针当前的方向。

第二行包含一个整数𝑛2 ,表示表针应该指向的正确方向。


输出描述:
若需要顺时针旋转𝑥度,则输出𝑥;

若需要逆时针旋转𝑥度,输出−𝑥。
示例1

输入

315
45

输出

90
示例2

输入

45
270

输出

-135
头像 17c89
发表于 2024-02-07 17:38:22
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); whil 展开全文
头像 bandiaoz
发表于 2024-12-29 13:59:56
解题思路 题目要求: 给定起始角度 和目标角度 (0-359度) 可以顺时针或逆时针旋转 需要找到最短旋转路径 当两种方向旋转角度相同时,选择顺时针 解题策略: 比较 和 的大小关系 计算顺时针和逆时针两个方向的旋转角度 选择较小的角度 如果角度相等,选择顺时针方向(正数) 展开全文
头像 laglangyue
发表于 2020-06-24 20:55:07
先求差,由向量的加减法知道,n2-n1表示按照数轴方向n1指向n2绝对值小于等于180,直接输出大于180,负数加上360输出,正数减去360输出 import java.util.*; public class Main{ public static void main(String[] 展开全文