Looooops

POJ2115-C Looooops 测试数据 ACM-POJ2115-C Looooops 测试数据。 数据来源:CTU Open 2004 问题C 立即下载

题目描述:

A Compiler Mystery: We are given a C-language style for loop of type
for (variable = A; variable != B; variable += C) statement;I.e., a loop which starts by setting variable to value A and while variable is not equal to B, repeats statement followed by increasing the variable by C. We want to know how many times does the statement get executed for particular values of A, B and C, assuming that all arithmetics is calculated in a k-bit unsigned integer type (with values 0 <= x < 2 k) modulo 2 k.

输入:

The input consists of several instances. Each instance is described by a single line with four integers A, B, C, k separated by a single space. The integer k (1 <= k <= 32) is the number of bits of the control variable of the loop and A, B, C (0 <= A, B, C < 2 k) are the parameters of the loop.

The input is finished by a line containing four zeros.

输出:

The output consists of several lines corresponding to the instances on the input. The i-th line contains either the number of executions of the statement in the i-th instance (a single integer number) or the word FOREVER if the loop does not terminate.

样例输入:

Sample Input
3 3 2 16
3 7 2 16
7 3 2 16
3 4 2 16
0 0 0 0

样例输出:

Sample Output
0
2
32766
FOREVER

题目大意:

首先来列方程:A + C * x - (2^k)* y = d

然后就得出了:C * x + (-2^k)* y = d

也就是:a = C ,b = 2^k(这里的b应该变为正数,把负号移到y上面去,最后我们要求的是x的值,与y没有关系,真不行用一次换元法,把-y换掉,最后那个特解求一下相反数就行了)
然后用扩展欧几里得求ax+by+gcd(a,b)

code:

#include<stdio.h>
long long exgcd(long long a,long long b,long long &x,long long &y)
{
	long long d=a;
	if(b!=0)
	{
		d=exgcd(b,a%b,y,x);
		y-=(a/b)*x;
	}
	else
	{
		x=1;
		y=0;
	}
	return d;
}
int main()
{
	long long a,b,c,x,y,k;
	while(~scanf("%lld%lld%lld%lld",&a,&b,&c,&k))
	{
		if(a==0&&b==c)break;
		long long what=(long long)1<<k;
		long long d=exgcd(c,what,x,y);
		what/=d;
		if((b-a)%d!=0)
		{
			printf("FOREVER\n");
		}
		else
		{
			x=(b-a)/d*x;
			printf("%lld\n",(x%what+what)%what);
		} 
	}
	return 0;
}
Fluent Meshing边界层设置保姆级教程:从y+理论到实战避坑,看完就会 本文详细解析了Fluent Meshing边界层设置的全过程,从y+理论基础到实战避坑技巧,帮助用户精准计算第一层高度并优化参数配置。通过案例演示和常见问题诊断,指导读者掌握边界层网格生成的核心技术,提升CFD模拟精度。特别针对不同湍流模型的y+要求提供具体参数建议。 阅读详情

相关推荐

【vivado PG学习】1 PG168:7 Series FPGAs Transceivers官方配置方法学习笔记

介绍: The 7 series FPGAs Transceivers Wizard LogiCORE™ IP 自动创建配置7系列fpga 收发器的HDL封装。向导可以配置一个或多个支持行业主流标准的高速串行收发器。或者从零开始支持各种自定义协议。 功能: 创建配置7系列fpga 收发器的HDL封装。 自动对模拟设置进行配置。 预定义了提供Aurora 8B/10B, Aurora 64B/66B, CEI-6G,DisplayPort, Interlaken, Open Base StationAr..

w0shishabi的博客 5万+

C Looooops (扩展欧几里得算法)

传送门---POJ 2115 题意:

zszz_2021的博客 511

QFN封装芯片手工焊接实战:从焊盘处理到拖焊技巧

本文详细介绍了QFN封装芯片手工焊接的全过程,从焊盘处理到拖焊技巧,再到常见问题的现场修复方法。通过实战经验分享,帮助工程师和DIY爱好者掌握0.5mm小间距QFN芯片的焊接技术,提升焊接成功率和质量。重点讲解了垂直与平行拖焊手法的对比应用,以及焊后清理与质量检验的关键步骤。

weixin_42652674的博客 532

一本通1640:C Looooops

【代码】一本通1640:C Looooops。

liu12345635的博客 234

手把手教你用ROS2 Humble给PX4无人机写个“画圆”程序:从C++代码到Gazebo仿真全流程

本文详细介绍了如何使用ROS2 Humble和PX4飞控实现无人机圆形轨迹控制,涵盖从环境配置、Gazebo仿真到C++代码实现的完整流程。通过实战教程,读者将掌握轨迹跟踪仿真的核心技术,包括ROS2与PX4的通信接口、圆形轨迹算法设计及Gazebo仿真调试技巧。

weixin_29056781的博客 257

遥感数据处理必看:哨兵1 SLC与GRD预处理差异全解析

本文详细解析了哨兵1号卫星SLC与GRD数据的预处理差异,从数据基础认知到实战应用全流程对比。重点介绍了SLC数据的轨道校正、辐射校正等关键步骤,以及GRD数据的简化处理流程,帮助用户根据应用场景选择合适数据类型。通过SNAP等工具的实际操作示例,提升遥感数据处理效率。

weixin_29035405的博客 339

C Looooops(poj 2115)

大致题意: 对于C的for(i=A ; i!=B ;i +=C)循环语句,问在k位存储系统中循环几次才会结束。 若在有限次内结束,则输出循环次数。 否则输出死循环。 解题思路: 题意不难理解,只是利用了 k位存储系统 的数据特性进行循环。 例如int型是16位的,那么int能保存2^16个数据,即最大数为65535(本题默认为无符号), 当循环使得i超过65535时,则i会返回...

weixin_30588729的博客 205

格拉姆角场实战:东南大学轴承故障诊断数据集深度剖析与代码实现

本文深入剖析了东南大学轴承故障诊断数据集,并提供了完整的格拉姆角场实战应用指南。通过将一维振动信号转换为二维图像,结合卷积神经网络,构建了端到端的故障诊断流程。文章详细解读了数据集的工况、通道含义与故障类型,并附有可运行的代码实现,为工业设备智能运维提供了有效解决方案。

night的博客 508

POJ2115 C Looooops

POJ2115 C Looooops Time Limit:1000MS Memory Limit:65536K Total Submissions:11146 Accepted:2622 Description A Compiler Mystery: We are given a C-language style for l...

weixin_30838873的博客 247

运维颠覆!一文解锁AI赋能运维实战秘籍,效率飙升!

将AI应用于运维工作是一场极具价值的变革,从故障预测与诊断到自动化任务执行,再到资源管理优化,AI都展现出巨大潜力。尽管在实践过程中会面临数据质量、模型复杂性等挑战,但通过合理的技术选型和解决方案,我们能够充分挖掘AI的优势,实现运维工作的高效、智能转型。持续探索和创新AI在运维领域的应用,将为企业的数字化发展提供坚实保障。在科技飞速发展的当下,运维领域正经历着深刻变革,AI的融入成为提升运维效率与质量的关键。本文将深入实战,带你领略AI如何在运维各环节大显身手,让你的运维工作开启智能高效新模式。

探索云原生与智能化驱动下的安全运维新范式。关注DevSecOps、可观测性、AIOps等前沿领域,与您共赴技术前沿。 401

泛微OA自定义post接口和路径(无侵入)

泛微OA自定义post接口和路径(无侵入)

技术分享 3868

[数论]POJ 2115/HOJ 1787 C Looooops 扩展欧几里得算法

传送门:C Looooops C Looooops Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16096   Accepted: 4138 Description A Compiler Mystery: We are given a C-lang

jjaw2013 977

QTI Camera Stack 中的多摄调度模型与 SyncGroup 实现机制详解

在当前高端移动影像系统中,搭载主摄、长焦、超广、ToF、IR 等多个图像模组已成标配,实现高效、低延迟、高稳定性地调度这些 Sensor 的图像能力成为 QTI Camera Stack 架构的关键组成。高通平台通过构建 Camera SyncGroup 模型与多层调度策略,在 ISP 层实现多模组图像流的绑定控制、帧级时间同步、主副摄无感切换、双路并发采集等能力。 本文基于 Snapdragon 8 Gen 系列平台的实际调测经验,系统解析 Camera Stack 中多摄调度模型的结构设计、各层模块职责

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1055

C Looooops

裸线性同余方程 // C Looooops.cpp : 定义控制台应用程序的入口点。 // //#include "stdafx.h" #include #include #include using namespace std; #define LL __int64 LL ex_gcd( LL a , LL b , LL &x ,LL &y ) { if ( b == 0 )

bo-jwolf的专栏 2037

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

hdu 【2115】 C Looooops

C Looooops Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 21796   Accepted: 5959 Description A Compiler Mystery: We are given a C-language style for loop

你真的介意真的在乎真的想要真的渴望的话你一定能够做到 360

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

POJ 2115 C Looooops

POJ 2115 C Looooops 题目链接 Description A Compiler Mystery: We are given a C-language style for loop of type for (variable = A; variable != B; variable += C) statement; I.e., a loop which starts by setting variable to value A and while variable is not equ

旺崽的博客 2559

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【poj 2115】 C Looooops 【CTU Open 2004】

Description A Compiler Mystery: We are given a C-language style for loop of type for (variable = A; variable != B; variable += C) statement; I.e., a loop which starts by setting variable to

TLECODE的博客 742

一本通1640C Looooops

1640:C Looooops 时间限制: 1000 ms 内存限制: 524288 KB 【题目描述】 原题来自:CTU Open 2004 对于 C 语言的 for (variable = A; variable != B; variable += C) statement; 循环语句,问在k位存储系统中循环几次才会结束。若在有限次...

weixin_30825199的博客 398

POJ_2115_C Looooops

同余方程

edward_108 276
上一篇: 青蛙的约会
下一篇: 树状数组详解
大橘为重eleven
博客等级 码龄8年 35粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值