1265. [NOIP2012] 同余方程

输入文件:mod.in   输出文件:mod.out   简单对比
时间限制:1
s   内存限制:128 MB

【题目描述】

求关于 x 的同余方程 ax ≡ 1
(mod b)的最小正整数解。

【输入格式】

输入只有一行,包含两个正整数 a, b,用一个空格隔开。

【输出格式】

输出只有一行,包含一个正整数X0,即最小正整数解。输入数据保证一定有解。

【样例输入】

3 10

【样例输出】

7

【数据范围】

对于 40%的数据,2 ≤b≤
1,000;

对于 60%的数据,2 ≤b≤
50,000,000;

对于 100%的数据,2 ≤a, b≤
2,000,000,000。

【思路】

  就是裸的欧几里得……然而考试的时候并没有想到……数论学的时候好不容易听懂的一个题,一到考试还是不记得,所以说一定要进行整理!

【代码】

 //扩展欧几里得:
#include <cstdio> int a, b; int exgcd(int a,int b,int &x,int &y)
{
if(b==)
{
x=,y=;
return a;
}
int r=exgcd(b,a%b,x,y),tmp;
tmp=x,x=y,y=tmp-a/b*y;
return r;
}
/*
void exgcd(int a, int b, int &x, int &y)
{
if (!b)
{
x = 1, y = 0;
return;
}
int q = a / b, r = a % b;
exgcd(b, r, y, x);
y -= q * x;
}
*/ int main() {
scanf("%d%d", &a, &b); int x, y;
exgcd(a, b, x, y); while (x < ) x = x + b; printf("%d", x);
return ;
}

然而我的代码就是打暴力:

(我都不知道我是怎么打出来的样例过了我就交上了,竟然能够A 6个点)

上代码:

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
#include<cstdlib> using namespace std; long long a,b,k;//对于 40%的数据,2 ≤b≤ 1,000; 对于 60%的数据,2 ≤b≤ 50,000,000; 对于 100%的数据,2 ≤a, b≤ 2,000,000,000。
long long x0=; void ss(long long b)
{
while(x0<a*b)
{
if((a*x0)%b==)
{
printf("%lld",x0);
return;
}
else ++x0; }
if(x0==a*b)
{
b+=b;
ss(b);
}
} int main()
{
freopen("mod.in","r",stdin);
freopen("mod.out","w",stdout);
scanf("%lld%lld",&a,&b);
if(a>b)
{
a=a%b;
}
if(a<b)
{
ss(b);
}
fclose(stdin);
fclose(stdout);
return ;
}

[NOIP2012] 同余方程(第三次考试大整理)的更多相关文章

  1. 157. [USACO Nov07] 奶牛跨栏(第三次考试大整理)

    157. [USACO Nov07] 奶牛跨栏 输入文件:hurdles.in   输出文件:hurdles.out   简单对比 时间限制:1 s   内存限制:128 MB 译 by CmYkRg ...

  2. 186. [USACO Oct08] 牧场旅行 (第三次考试大整理)

    186. [USACO Oct08] 牧场旅行 输入文件:pwalk.in   输出文件:pwalk.out   简单对比 时间限制:1 s   内存限制:128 MB n个被自然地编号为1..n奶牛 ...

  3. 185.[USACO Oct08] 挖水井 (第三次考试大整理)

    185. [USACO Oct08] 挖水井 输入文件:water.in   输出文件:water.out   简单对比 时间限制:1 s   内存限制:128 MB 农夫约翰决定给他的N(1< ...

  4. (考试大整理~)Xxy 的车厢调度

    这一题我以前研究过哈哈哈~ (train.cpp/c/pas) Description 有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入,再从 B 方向驶出,同时它的车厢可以 ...

  5. 任正非:华为三十年大限快到了 想不死就得新生(建立战略预备队)cool

    华为心声社区官方微信今日发布了任正非8月15日在华为公司内部做的关于战略预备队建设汇报的讲话.讲话内容中提到,华为公司需要组织.结构.人才等所有一切都变化,通过变化使新的东西成长起来.   任正非表示 ...

  6. 一本通1632【 例 2】[NOIP2012]同余方程

    1632:[ 例 2][NOIP2012]同余方程 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 求关于 x 的同余方程 ax≡1(mod b) 的最小正整 ...

  7. 1265. [NOIP2012] 同余方程

    1265. [NOIP2012] 同余方程 ★☆   输入文件:mod.in   输出文件:mod.out   简单对比 时间限制:1 s   内存限制:128 MB [题目描述] 求关于 x 的同余 ...

  8. 1632:【 例 2】[NOIP2012]同余方程

    #include<bits/stdc++.h> #define ll long long using namespace std; void Exgcd(ll a,ll b,ll & ...

  9. [整理]qbxt集训10场考试 大 杂 烩 (后篇)

    前篇 Contest 6 A 两个数,第 \(i\) 轮从较大数(如果相等就是第一个)里减去 \(i\) ,问操作不能进行时两数分别为多少. 首先把大数减到和小数差不多,然后我们会发现接下来两数会轮流 ...

随机推荐

  1. mybatis多对多级联查询

    1.实体 package com.govmade.govdata.modules.sys.pojo; import java.util.List; import javax.persistence.T ...

  2. HDU 1133 Buy the Ticket (数学、大数阶乘)

    Buy the Ticket Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  3. mysql substr方法

    mysql中的substr()函数 mysql中的substr()函数和hibernate的substr()参数都一样,就是含义有所不同. 用法: substr(string string,num s ...

  4. web框架 Spring+SpringMvc+Jpa 纯注解搭建

    0.jar包依赖 maven  pom.xml <properties> <spring_version>4.3.25.RELEASE</spring_version&g ...

  5. 通过sohu获取浏览器端IP地址

    接口:http://pv.sohu.com/cityjson?ie=utf-8

  6. MySQL的日志系统

    一.日志类型 逻辑日志:存储了逻辑SQL修改语句 物理日志:存储了数据被修改的值 二.binlog 1.定义 binlog 是 MySQL 的逻辑日志,也叫二进制日志.归档日志,由 MySQL Ser ...

  7. 在CentOS7上无人值守安装Zabbix4.2

    #!/bin/bash # 检查操作系统版本,该脚本只能运行在 Centos .x 系统上 cat /etc/redhat-release |grep -i centos |grep '7.[[:di ...

  8. vim最常用命令

    vi/vim常用命令汇总 vi/vim概述 vi/vim是Linux和Unix下的一款非常强大的编辑器,vim是vi的增强 版,命令更加多种和复杂,但是最常用的也就是那几个. vi有三种模式 命令行模 ...

  9. 国际化:node导语言包

    项目做国际化,是离不开语言包的en.json.zh-CN.json等等.难道要一个一个json文件的写吗???不!!!只要我们写在excel里,然后用nodejs导出我们需要的语言包就可以了!这样大大 ...

  10. JSP 自定义标签 生命周期

    1. 2.