挑战程序设计竞赛是c语言编写的嘛,POJ 2115 C Looooops 题解《挑战程序设计竞赛》...
循环次数:求for (variable = A; variable != B; variable += C)的循环次数,其中变量为k比特无符号整数。
4.1更加复杂的数学问题
模运算的世界
数论真是虐狗
。
k位无符号整数溢出会归零,所以问题其实是求模线性方程Cx = B – A (mod 2k)的最小解。于是参考《算法导论》P528的拓展欧几里得算法和P534的伪码:
就行了。
正如《算法导论》数论这章的前言所述,数论曾被认为是一门漂亮但却没什么大用处的纯数学学科,现在也是应用在密码学里。所以,我暂时没下定决心花时间在数论算法上面。
#include
typedef long long LL;
// return d = gcd(a, b) = ax + by
inline LL extended_euclid(const LL& a, const LL& b, LL &x, LL &y)
{
if (b == 0)
{
x = 1, y = 0;
return a;
}
LL d = extended_euclid(b, a % b, x, y);
LL x1;
x1 = x, x = y, y = x1 - a / b * y;
return d;
}
// return ax = b (mod n) 的最小解
inline LL modular_linear_equation_solver(const LL &a, const LL &b, const LL &n)
{
LL d, x, y;
d = extended_euclid(a, n, x, y); // a 与 n 的最大公约数d
if (b % d)
return -1;
LL x0 = x * (b / d) % n + n; // x0 * d 是 ax = b (mod n) 的一个解
return x0 % (n / d); // ax = b (mod n) 的最小解
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
#endif
LL A, B, C, k;
while (~scanf("%lld%lld%lld%lld", &A, &B, &C, &k), A || B || C || k)
{
LL d = modular_linear_equation_solver(C, B - A, 1LL <
if (d == -1)
puts("FOREVER");
else
printf("%lld\n", d);
}
#ifndef ONLINE_JUDGE
fclose(stdin);
#endif
return 0;
}
14148990
Accepted
132K
0MS
1092B
2015-04-30 21:27:17
挑战程序设计竞赛是c语言编写的嘛,POJ 2115 C Looooops 题解《挑战程序设计竞赛》...相关推荐
- c语言程序设计阶乘输出,C语言编写10的阶乘,用C语言编程求10的阶乘
导航:网站首页 > C语言编写10的阶乘,用C语言编程求10的阶乘 C语言编写10的阶乘,用C语言编程求10的阶乘 匿名网友: 思路:先定义一个函数求一个数的阶乘,接着依次从1到10调用该函数就 ...
- 机器人程序用c 语言编写,RobotC与机器人程序设计
RobotC与机器人程序设计 作 者:郑剑春 编 出版时间:2013 丛编项:ROBOTC中文培训教材·青少年科技创新丛书 内容简介 被誉为机器人竞赛的首选编程语言ROBOTC,由卡耐基梅隆大学机器人 ...
- POJ 3713 Transferring Sylla 题解 《挑战程序设计竞赛》
为什么80%的码农都做不了架构师?>>> POJ 3713 Transferring Sylla三连通图:判断一个无向图是否三连通?3.5借助水流解决问题的网络流最大流刷个题报 ...
- POJ 1418 Viva Confetti 题解 《挑战程序设计竞赛》
为什么80%的码农都做不了架构师?>>> POJ 1418 Viva Confetti礼花:Confetti 是一些大小不一的彩色圆形纸片,人们在派对上.过节时便抛洒它们以示庆 ...
- 计算机编写的程序具有可移植性,用高级程序设计语言编写的程序()。A.计算机能直接执行B.可读性和可移植性好C.可读性差但执行效率...
用高级程序设计语言编写的程序().A.计算机能直接执行B.可读性和可移植性好C.可读性差但执行效率 更多相关问题 有些消费函数表明,收入和消费是负相关的.() 地球上陆地的面积约为148 000 00 ...
- c语言编写的每个函数都可以进行独立的编译,2017年辽宁师范大学计算机与信息技术学院836C语言程序设计考研冲刺密押题...
一.选择题 1. 以下叙述中错误的是( ). A.C 语言编写的函数源程序,其文件名后缀可以是.C B.C 语言编写的函数都可以作为一个独立的源程序文件 C.C 语言编写的每个函数都可以进行独立的编译 ...
- 用C语言编写从A到Z随机步法,实用C语言程序设计教程1C语言学习基础ppt71.ppt
实用C语言程序设计教程1C语言学习基础ppt71 C语言程序设计 - 第1章 C语言学习基础 第1章 开篇 --C语言学习基础 --目标既不是精确的,也不是预先设定的,目标应是一般性的.生成性的,从而 ...
- c语言程序设计实验教学,C语言程序设计实验教学改革研究
语言程序设计是目前各高校计算机及其相关专业的一门基础课程,也是其它工科专业学生必修的计算机基础课程之一,是学生学习程序设计的入门课程.同时,该课程是一门应用性很强的学科.随着计算机技术飞速发展,计算机 ...
- python教材答案程序设计导论_程序设计导论:Python语言实践
前 言Introduction to Programming in Python: An Interdisciplinary Approach21世纪以前的教育基础是"读.写和算术" ...
- python叫什么语言-python是什么语言编写的
python是什么语言编写的? python是C语言编写的. 自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程. Python的创始人为荷兰人吉多·范 ...
最新文章
- Java中实现接口与继承的区别
- HttpClient basic authentication
- 基于ESP32的竞赛裁判系统功能调试-硬件修改建议
- dataset for person re-id
- SAP系统管理员的工作
- JRebel: ERROR Failed to obtain seat. Unable to connect to license server. Check
- 用计算机如何计算投资回收期,动态投资回收期怎么算的?
- 3 idiots的台词
- (一)android为什么需要recovery升级?
- Spring 源码--Bean 实例化
- Windows+iPad扩展屏幕-随航功能
- 射频识别系统及WMS仓库管理系统功能介绍
- 在word的文字右上角添加符号(插入上标)?
- windows下两种方法通过cmd进入指定目录
- 面向对象分析与设计01 - 关键抽象
- 世界上五个最不务正业的科学家!看完三观都碎了…
- 深化测试用例的覆盖率
- 07-html标签图文详解(二)
- 判断素数———两种高效算法
- python index out of bounds_错误:索引2超出大小为1的轴0的界限
热门文章
- Delphi 2007 TIDHttp HTTPS 出现Error connecting with SSL
- CAD转GIS工具软件下载
- html音频波纹播放器插件,Wavesurfer.js音频播放器插件的使用教程
- 爱普生Epson L1118/1119打印机清零步骤
- \opencv\build\x86下的vc6、vc7、vc8、vc9、vc10、vc11、vc12、vc14、vc15是什么意思?
- matlab数字图像处理灰度变换ppt课件,数字图像处理 灰度变换.ppt
- Linux打开软盘镜像,怎样在Linux下制作软盘和光盘镜像
- smart210 资源
- cad设计绘图软件:AutoCAD 2020 Mac版
- 非参数统计的Python实现—— Wilcoxon 符号秩检验