//poj 3101
//公式推导
//0.5*L/abs(L/ti-L/tj)--->相差半周的时间
//(ti*tj) / (2*abs(ti-tj))
//令 (ti*tj)=bi; (2*abs(ti-tj))=ai;
//相邻两个卫星平行的时间间隔di=bi/ai,问题转化为求这n-1个分数的最小公倍数
//分母p=gcd(a1,a2,...,an-1)
//分子q=lcm(b1,b2,...,bn-1)
//q/p 约分即得最终答案
//知识点:大整数乘法+素因子分解
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const int N=1000;
const int M=10000;
int n;
int t[N],r[N];
int c[M];
int gcd(int a,int b)
{
if(!b) return a;
return gcd(b,a % b);
}
void run()
{
int i,j;
for(i=0;i<n;i++) scanf("%d",&t[i]);
r[0]=1;
for(i=1;i<N;i++) r[i]=0;
int a,b,g,d,k;
d=0;
for(i=1;i<n;i++) if(t[i]!=t[0])
{
b = t[i] * t[0];
a = abs(t[i] - t[0])<<1;
g = gcd(a,b);
a/=g;
b/=g;
d=gcd(a,d);
//分解素因子
for(j = 2; b > 1; j++ ) if(b % j == 0)
{
k=0;
while(b % j == 0)
{
b /= j;
k++;
}
if(k > c[j]) c[j] = k;
}
}
//lrj结论: lcm(a,b)=p1^max(a1,b1)*p2^max(a2,b2)……pn^max(an,bn)
//here: 预先计算出 所有bi的素因子个数 max 存放在 c[i] 数组中
//大整数乘法 r=∏(i^c[i]) {c[i]!=0}
int tmp;
for(i = 0; i < M; i++)
{
for(j=0; j<c[i]; j++)
{
tmp = 0;
for(k = 0; k < N; k++)
{
r[k] = r[k]*i+tmp;
tmp = r[k] / 10000;
r[k] %= 10000;
}
}
}
//ans : (r[i] / d)
i=999;
while(i && r[i] == 0) i--;
printf("%d",r[i]);
for(--i;i>=0;--i) printf("%04d",r[i]);
printf(" %d\n",d);
}
int main()
{
while(scanf("%d",&n)!=EOF) run();
return 0;
}
相关推荐
详细教程:如何使用elasticsearch 8.x进行向量搜索
大模型的热度使得向量数据库和embedding也成了ai领域的热门话题,有别于从头开始训练一个大模型或基于基础模型进行微调的方式,embedding检索相关上下文是对大模型进行定制的各种方法中成本最低、技术实现最便捷的方式。从技术实现的角度,
poj 3101 Astronomy (GCD LCM 高精度)
题目链接:http://poj.org/problem?id=3101 大致题意:一个恒星系统中有n(2 ≤n≤ 1 000)颗行星,告诉你它们的运转周期Ti(1 ≤ti≤ 10 000),求他们能够同线的最小周期,表示形式是:分子 分母 Time Limit:2000MS Memory Limit:65536K 样例: Sample ...
Linux运维踩坑实录:手把手教你修复LVM中PV显示[unknown]的诡异问题
本文详细解析了Linux运维中LVM物理卷(PV)显示[unknown]的故障现象及修复方法。通过分析问题根源、提供标准修复流程和特殊场景处理方案,帮助运维人员快速解决VG容量异常、PV状态丢失等问题,并分享预防措施与最佳实践,确保LVM存储系统的稳定运行。
POJ - 3101 (Astronomy)
题意:给定 n 个行星的运行周期 T1,T2,...,Tn,求它们两次共线的最短时间间隔; 分析:看输入全是整数,先写了一发整数的最小公倍数(果断WA),设 t1为行星 1 和 2 两次共线的最短时间间隔,则它应该满足 转换一下就变成了 则最终答案应该是 t1~tn-1 的最小公倍数,那么分数的最小公倍数即 分子的最小公倍数 / 分母的最大公约数 ,那分子的最小公倍数肯定存不...
让 AI 学会“慢思考”:MCP Sequential Thinking 深度部署与使用指南
摘要: MCP Sequential Thinking 是一种让AI具备"慢思考"能力的技术,通过动态调整思维路径解决复杂问题。本文详细介绍了在Windows、macOS和Linux系统下的部署方法,包括环境准备、配置文件修改等步骤。该技术通过"产生想法-评估需求-修正路径"的循环机制,显著提升AI在代码设计、数学证明等复杂任务中的表现。文章还提供了验证安装方法、使用示例和常见问题解答,帮助开发者解锁AI的深层思考能力。(149字)
腾讯开源CubeSandbox:为Agent打造可随时丢弃的安全沙箱环境
在人工智能与自动化技术快速发展的今天,智能体(Agent)在执行复杂任务时往往需要独立、完整的计算环境,但环境失控带来的安全风险一直是落地瓶颈。为解决这一痛点,可丢弃式沙箱技术应运而生。它通过轻量虚拟化原理实现环境秒级重建,并严格隔离宿主资源,即使Agent执行了恶意或误操作,也不会波及其他系统。这种技术价值在于平衡了灵活性与安全性,使开发者敢于赋予Agent更多自主操作权限。目前,这类技术已广泛应用于AI编程、自动化测试、数字员工、恶意代码分析等真实场景,成为Agent可靠运行的基石。腾讯开源的CubeS
POJ 3101 Astronomy 解题报告(大数乘法+分数最小公倍数)
题目大意:给出n的行星的周期,问n个行星在一条直线上的周期。 解题报告:懒……就直接用Java大数。当然,时间垫底 import java.math.BigInteger; import java.util.Scanner; public class Main { static int[] a = new int[1010]; static Scanner cin = new S
Kalibr标定避坑指南:如何用AprilGrid板快速完成双目IMU标定
本文详细介绍了使用AprilGrid板进行Kalibr双目IMU联合标定的实战技巧,包括标定工具选型、数据采集优化、标定流程及结果验证。通过AprilGrid板的唯一标识性和抗遮挡优势,结合IMU静止标定和运动激励设计,显著提升标定精度。文章还提供了常见报错处理和高级优化技巧,帮助开发者高效完成传感器标定。
poj 3101 Astronomy(分数的最小公倍数)
http://poj.org/problem?id=3101 大致题意:求n个运动周期不完全相同的天体在一条直线上的周期。 这题我是看着解题报告写的,用到了物理中的角速度什么的。 因为n个天体的周期已知,那么它们的角速度为vi = 2*pi/Ti,若统一选第0个天体为参照物,那么其余天体的相对速度vi' = 2*pi*(T0-Ti)/(T0*Ti)(把周期T相同的
手把手教你用Python实现双三次插值(附OpenCV对比测试)
本文深入解析了双三次插值算法的数学原理,并提供了从零开始的Python实现教程。通过与OpenCV官方实现的对比测试,详细评估了不同插值算法(包括最邻近差值、双线性插值)在图像质量与计算性能上的差异,帮助开发者掌握高质量图像缩放的核心技术。
在 ABAP 中把变量一次写对:深入理解 FINAL 内联声明与不可变变量
摘要:ABAP中的FINAL声明操作符用于定义不可变变量,强调"当前上下文中的唯一写位置",能有效防止变量被意外修改,提升代码健壮性和可读性。官方建议优先在单次赋值的场景使用FINAL替代DATA。其核心规则包括:1)写位置唯一但可多次执行(如循环内);2)不创建块级作用域;3)对引用变量仅约束引用本身而非对象内容。典型适用场景包括:结果值只读、输入快照保存和中间结果保护。例外情况如游标变量不适用,因需多次写操作。正确使用FINAL可显著降低代码维护风险。
POJ 3101 Astronomy 【分数的最小公倍数+物理公式+java大数】
题目链接:http://poj.org/problem?id=3101 思路: 物理公式就不解释了 : ; 求 的最小公倍数,因为 可能为分数,所以需要求分数的最小公倍数; 分数的最小公倍数 : 分子的最小公倍数 / 分母的最大公约数 分数的最大公约数 : 分子的最大公约数 / 分母的最小公倍数 因为题目的数据范围很大,所以用java处理会方便点;需要注意的是去重,因为速度相同的情况...
2025年12月GESP真题及题解(C++一级): 小杨的爱心快递
2025年12月GESP真题及题解(C++一级): 小杨的爱心快递
POJ 3101 Astronomy
题目链接:http://poj.org/problem?id=3101 这题求的是所有星球
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
POJ 3101 Astronomy 可能会
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
[POJ3101]Astronomy
题目大意有个恒星系,有n个行星,其中第i个以时间t_i为周期绕恒星做圆周运动,问行星们在过恒星的同一条直线上的时刻之间的间隔。 N<=1000,t_i<=10000 分析首先要注意到行星可以在圆的两边。 然后所有行星都过同一条直线可以看成任取i,i和i+1在同一直线上。 那么通过一波计算,可以得出i和i+1的时间间隔,是一个分数,记为ai/bi。 接着我们要做的就是把所有分数弄一个最小公倍
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
POJ 3101 Astronomy .
题目地址:http://poj.org/problem?id=3101 因为只要半圈就可以在一条直线上,所以可以先求出与第一个星球的差半个周期的时间间隔,求这些分数的公倍数 每个星球的速度是L/Ti , 相差的速度为 abs(L/T0-L/Ti) 那么差半圈的时间为 0.5*L / abs(L/T0-L/Ti) 求分数的公倍数也即是,求分子的最小公倍数,分母的最大公因子 求LCM,GCD
POJ 3101 Astronomy
这只是一个数学题~ 题目大意: 给出n个星球绕中心天体飞行的周期,求最小运行多少可以让所有的星球在同一条直线上。 解题思路: 已知每个行星的角速度为vi = 2*π/Ti,选择一个行星T0作为坐标系,则其他行星的相对速度为vi' = (T0 - Ti)*2π/(T0*Ti)。则角度绕过半个圆周的时间为Ti' = π/vi' = (T0*Ti)/((T0 - Ti)*2)
poj 3101 astronomy
题目意思:几个天体围绕一个圆心运动,给出每个天体的运动周期ti,要所有天体两次在一条直径上的时间间隔,输出一个分数,分子分母隔开 解题思路:所有天体在一条直径上,必要条件为任意两个天体都在一条直径上,那么我们先求出任意两个天体在一天直径上的时间间隔t,那么最终的答案就是这些t的最小公倍数了; 算法:分数的最小公倍数=分母的最小公倍数/分子的最大公约数(证明略,该公式记住就行),多个数的最小公倍
poj 3101 Astronomy
http://poj.org/problem?id=3101 这道题就是求所有分子的最小共倍数和分母的最大公约数。 1 import java.math.BigInteger; 2 import java.util.*; 3 import java.util.Arrays; 4 public class Main { 5 public static void ...
POJ 3101 Astronomy (数学)
Description There are n planets in the planetary system of star X. They orbit star X in circular orbits located in the same plane. Their tangent velocities are constant. Directions of orbiting of all
POJ 3101 Astronomy 笔记
如图,n 颗行星绕恒星旋转,已知每颗行星的周期。求所有行星呈一条直线的周期。
【POJ 3101】Astronomy(GCD+LCM+公式)
【POJ 3101】Astronomy(GCD+LCM+公式) Astronomy Time Limit: 2000MSMemory Limit: 65536KTotal Submissions: 5706Accepted: 1270DescriptionThere are n planets in the planetary system of star X. They orbit star X
1万+



被折叠的 条评论
为什么被折叠?



