另外一种方法和该题的题目在这位大佬的博客里

SCAU 1078 破密

还可以参考

https://blog.csdn.net/sinat_34200786/article/details/78288634--CSDN的大佬(就是对这个题目的数学的逻辑的分析了)

 Description

用到了小学的数学方法,就是横坐标之差和纵坐标之差的和减去两个差的最大公约数

我的方法

 /******这其实是典型的数学题目:小学的时候就会接触的,就是在一个
直角坐标系里面,两个点连成的线会经过多少的格子,其实就是这两个点的
横坐标之差和纵坐标之差之和然后再减去两个差的最大公约数(画一下图就会知道在同一个横坐标格子的时候会可能就穿过了好几个纵坐标的格子了
这就是最大公约数的了
***********/
#include <stdio.h>
#include <stdlib.h>
//#define Abs(x) (x)>0?(x):(-x);
int gcd(int a,int b)//这就是一个常规的找最大公约数的函数gcd了
{
int y;
//if(a==0)
// return 0;
while(a%b!=)
{
y=a%b;
a=b;
b=y;
}
return b;
}
int main()
{
int x1,y1,x2,y2;
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
int m=abs(x1-x2);
int n=abs(y1-y2);
if(m<n)//由于gcd的第一个参数是要保证比第二个参数要大的
{
int temp=m;
m=n;
n=temp;
}
int ans=;//储存答案了
if(m!=&&n!=)//由于如果两个点是相同横坐标并且也是相同的纵坐标的时候,或者是相同横坐标不同纵坐标
//或者是相同纵坐标而横坐标不同的时候,都是不穿过格子的,所以就不对ans进行操作,也就是说输出已经被初始化的值ans+0 {
int w=gcd(m,n);//w是m和n的最大公约数
ans=m+n-w;//直接带入公式
}
// ans=(m+n)-gcd(m,n);
printf("%d",ans);
return ;
}

SCAU-1078 破密-数学的应用的更多相关文章

  1. 一次在CentOS系统单用户模式下使用passwd命令破密失败的案例

    某次遇到需要进入系统的单用户模式进行破密操作,结果却显示如下: 根据提示:Permission denied(缺少权限) 此时查看/usr/bin/passwd 权限: 正常情况下的权限应该是如下: ...

  2. Linux Grub系统加密、破密、修复

    一.在重新启动系统时候按任意键进入 grub界面  Grub加密 一.title前的密码 修改grub.conf 这种加密只是在用户要进入grub界面的时候提示要输入密码,但是可以正常进入系统,有没有 ...

  3. VBA 打印及破密

    Sub 打印()ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=TrueCall dyEnd SubSub dy()Dim a%, b ...

  4. 本周 GitHub 速览:自动化当道,破密、爬虫各凭本事

    作者:HelloGitHub-小鱼干 摘要:安全门外汉,如何在不知道密钥或密码的情况下,破解哈希得到原文,Ciphey 会告诉你当中的密码.说到 auto 智能爬虫会基于上一次的爬虫经历进一步学习以获 ...

  5. calc 多项式计算 (STL版和非STL版) -SilverN

    计算(calc.cpp) [问题描述] 小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)”,“0-9”,“+”,“-”,“*” ...

  6. 计算(calc.cpp)

    计算(calc.cpp) [问题描述] 小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)”,“0-9”,“+”,“-”,“*” ...

  7. 计算(calc.cpp) 这题我搞了2晚上qwq

    终于会了!可喜可贺!可喜可贺!   计算(calc.cpp) [问题描述] 小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)” ...

  8. 计算(calc)

    计算(calc) [题目描述] 小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有"(",")",& ...

  9. 2022寒假集训day5

    day5 五道栈的题加上字符串. 单调队列. T1 表达式括号匹配   洛谷P1739 题目描述 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@&q ...

随机推荐

  1. 玩转u8g2 OLED库,一篇就够

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  2. Shiro learning - 入门学习 Shiro中的基础知识(1)

    Shiro入门学习 一 .什么是Shiro? 看一下官网对于 what is Shiro ? 的解释 Apache Shiro (pronounced “shee-roh”, the Japanese ...

  3. Ubuntu编译安装nginx以及配置自动启动

    本文主要介绍ubuntu如何编译安装nginx以及遇到的问题 和 配置系统自动启动服务 查看操作系统版本 cat /etc/issue  Ubuntu 18.04.3 LTS \n \l    更改镜 ...

  4. PCES - alpha阶段测试报告

    测试计划 测试目的 本测试目的在于测试项目完成情况,以及分析测试结果,为下一轮开发提供解决方案 测试项目 学生用户登录测试 课程信息检索测试 服务器测试 在测试过程中出现的Bug 用户界面间的跳转逻辑 ...

  5. map 与 set的使用

    1.map的使用 初始化的两种方式 a. const map = new Map([['name','ouycx'],['age', 20]]); b. const map = new Map(); ...

  6. java 项目时间和服务器时间不一致

    今天线上项目关于时间的几个任务都出了问题,查看日志发现日志的时间不对,用的是log4j,日志输出的时间都早了很长时间. 1 首先先登上服务器查看了服务器的系统时间 linux下 date命令 时间正确 ...

  7. IndentationError: unindent does not match any outer indentation level笔记

    执行一个Python脚本的时候,报"IndentationError: unindent does not match any outer indentation level" 错 ...

  8. 和manacher有关的乱写

    当初学kmp hash的时候被教导manacher非常的鸡肋 今天因为一篇神奇的题解我忍不住颓废了两节课把它学了 思路,代码都比较好懂 虽然它不如各种自动机霸气,唯一的功能貌似就是$O(n)$求出所有 ...

  9. 通俗易懂了解Vue的计算属性

    1.前言 之前在学习vue的过程中,一直没有搞明白计算属性是个怎么回事,以及为什么要有计算属性,使用计算属性有什么好处.今天花时间翻了翻官方文档,才搞清楚其中一二,现将学习心得总结记录如下. 2.为什 ...

  10. NOIP模拟27(命悬一线)

    考得太悬了!