POJ2109_ Power of Cryptography

2024-05-15 01:48
文章标签 power cryptography poj2109

本文主要是介绍POJ2109_ Power of Cryptography,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目大意:

给你两个数,n,p ,求一个数K 使行 K^n == p.


题目测试样例与数据范围:

2 16
3 27
7 4357186184021382204544

4
3
1234
其中 4^2 == 16,3^3==27,1234*7==4357184021382204544

注意 1<=n<=200,1<=p<10^101.

题目保证有解且 1<=k <10^9.


题目分析:

这是一个大数问题,所以我会第一考虑用java 。而且这是一个给定幂和结果,求底的题目,想到了二分答案。

java二分?没错。


小乐一下:java里头,Mid.pow(int n) 幂必须是整数。A.compaleTo(B) 是两个大数的比较,与字符串相比较是一样的,返回的是一个整数

当返回-1是说明A<B,当返回0里,说明A==B,当返回1里,说明A>B.还有在二分答案的时候,最后的结果是L,R,Mid?这个要看你具体

题目是如何定义,我们要如何判定的。


题目链接:  http://poj.org/problem?id=2109


代码仅限于参考,更好更简洁的代码由你去实现,不要直接复制。

import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class Main {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);BigInteger p;int n;while(cin.hasNext()){//n = cin.nextBigInteger();n = cin.nextInt();p = cin.nextBigInteger();BigInteger L = BigInteger.valueOf(1);BigInteger R = p;BigInteger Mid = BigInteger.ONE;while(R.compareTo(L)>=0){Mid = L.add(R).divide(BigInteger.valueOf(2));int flag = Mid.pow(n).compareTo(p);if(flag==0) break;else if(flag<0) L = Mid.add(BigInteger.valueOf(1));else R = Mid.subtract(BigInteger.valueOf(1));}System.out.println(Mid);}}}

伟大的梦想成就伟大的人,从细节做好,从点点滴滴做好,认真做好。





这篇关于POJ2109_ Power of Cryptography的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/990468

相关文章

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

Keysight U8031A DC power supply

Keysight U8031A DC power supply 文章目录 Keysight U8031A DC power supply前言电容充电⽰意图一、恒定电压操作二、恒定电流操作三、5v操作四、跟踪模式操作五、存储器操作六、对过电压保护编程七、对过电流保护编程八、锁键操作 前言 U8031A Power Supply 是一款具备前面板编程能力的三路输出电源。通过使

PrimeTime low power-SMVA分析(4)

1.6使用示例 以下使用示例展示了SMVA流程: - 所有电压条件下的SMVA分析 - 特定DVFS约束下的SMVA分析 在以下脚本示例中,红色突出显示的文本显示了在SMVA流程中使用的命令、命令选项和变量。这些功能只有在将timing_enable_cross_voltage_domain_analysis变量设置为true时才能使用。 1.6.1所有电压条件下的SMVA分析 要对多

PrimeTime low power-SMVA分析(2)

1.4 DVFS 场景 对于使用动态电压和频率缩放(DVFS)的设计,可以使用 DVFS 场景来同时分析设计在所有 DVFS 条件下的性能。有关详细信息,请参见以下主题: - DVFS 场景概念 - 查询 DVFS 场景 - 将 DVFS 场景应用于命令和属性 - 与 DVFS 相关的对象属性 注意: DVFS 场景是在 SMVA 分析中使用的电压/频率场景。它们与分布式多场

【Power Compiler手册】9.时钟门控(4修改时钟门控结构)

修改时钟门控结构 在执行 RTL 时钟门控时,可以指定 `set_clock_gating_style -max_fanout` 命令来限制由单个时钟门控元素门控的寄存器数量。结果可能是具有相同使能信号的多个时钟门控元素,并且在逻辑上,具有相同的门控时钟信号。所有具有相同使能信号的时钟门控单元属于同一个时钟门控组。由单个时钟门控元素门控的所有寄存器属于同一个时钟门控子组。 由 `compi

幂等运算power

分治思想   public static double power(double base, int exponent) {if ((equalToZero(base)) && (exponent <= 0)) {throw new IllegalArgumentException();}int positiveExponent = (exponent > 0 ? exponent : -ex

Fast Power

Calculate the an % b where a, b and n are all 32bit non-negative integers. Example For 231 % 3 = 2 For 1001000 % 1000 = 0 Challenge O(logn) 思想:recursion算一半,然后base case,处理算完一半以后的情况; 公式就是 (a*b) %

POJ训练计划1459_Power Network(网络流最大流/Dinic)

解题报告 这题建模实在是好建,,,好贱,,, 给前向星给跪了,纯dinic的前向星竟然TLE,sad,,,回头看看优化,,, 矩阵跑过了,2A,sad,,, /*************************************************************************> File Name: PowerN.cpp> Author: _nplus>

2157. 优秀的拆分(power)

代码 #include<bits/stdc++.h>using namespace std;int a[10001];int main(){int n,t=1,k=0;bool flag=false;cin>>n;if(n%2==1) {cout<<-1;return 0;}while(n>0){if(n%2==1){k++;a[k]=t; }n=n/2;t=t*2;}if(k

PrimeTime low power-SMVA分析(1)

SMVA Graph-BasedSimultaneous Multivoltage分析(SMVA) Graph-based的同时多电压分析(SMVA)在单次分析运行中同时考虑整个设计中所有路径的每种电源电压组合。要了解有关 SMVA 分析的信息,请参考以下内容: - SMVA 概述 - 配置 SMVA 分析 - 在 SMVA 分析中报告时序路径 - 动态电压频率调整(DVFS)场景