UVA 113 - Power of Cryptography(数学)

宝塔部署若依前端出现502解决方法 若依系统是一个基于Java语言的开源项目,旨在帮助开发者减少开发时间,特别适用于需要快速开发出一套具有用户管理、菜单管理、权限管理、定时任务、日志管理等功能的简单系统。系统分为前后端分离、分布式等架构前后端分离部署教程然而通过宝塔来部署若依系统会遇见一些问题,特此在这里记录一下。 阅读详情

        大数开方,结果不超过整型范围。我用的高精和二分在POJ通过了,在UVA没通过。后来在网上看到有大牛直接用double过了,实在让人佩服啊。

我的代码:

#include <stdio.h>
#include <string.h>

// 交换字符串函数
void swap_str(char str[]) {
    int len = strlen(str);
    for (int i=0; i<len/2; i++) {
        int tmp = str[i];
        str[i] = str[len-i-1];
        str[len-i-1] = tmp;
    }
}

// 大数与整型相乘函数(大数以字符串形式给出)
void my_mul(char str[], int x) {
    int len = strlen(str);
    int cp = 0, i, tmp;
    swap_str(str);

    for (i=0; i<len; i++) {
        tmp = (str[i]-'0')*x + cp;
        str[i] = (tmp%10) + '0';
        cp = tmp / 10;
    }

    while (cp) {
        str[i++] = (cp%10) + '0';
        cp /= 10;
    }

    while ('0'==str[i-1] && i>1)
        i--;
    str[i] = '\0';

    swap_str(str);
}
// 比较两个大数的大小(大数前没有0)
int my_numCmp(char str1[], char str2[]) {
    int len1, len2;
    len1 = strlen(str1);
    len2 = strlen(str2);

    if (len1 > len2)
        return 1;
    if (len1 < len2)
        return -1;

    return strcmp(str1, str2);
}

// 字符串存储开方结果
void my_pow(char str[], int k, int n) {
    str[0] = '1', str[1] = '\0';
    while (n--) {
        my_mul(str, k);
    }
}

// 二分查找正确答案
int my_binary_search(int n, char str[]) {
    int high = 1e9, low = 0;
    int mid;
    char tot[2005];

    while (low < high) {
        mid = low + (high-low)/2;
        my_pow(tot, mid, n);
        int tmp = my_numCmp(tot, str);
        if (0 == tmp)
            return mid;
        if (tmp < 0)
            low = mid + 1;
        else
            high = mid;
    }
    return mid;
}

int main() {
    char str[105];
    int n;
    while (scanf("%d%s", &n, str) != EOF) {
        printf("%d\n", my_binary_search(n, str));
    }

    return 0;
}


牛人代码:

#include <stdio.h>
#include <math.h>

int main() {
    double n, p;

    while (scanf("%lf%lf", &n, &p) != EOF) {
        printf("%.lf\n", pow(p, 1/n));
    }

    return 0;
}


 

 

基于51单片机的简易计算器设计(原理图+仿真+源代码+参考论文) 本设计以51单片机为核心,矩阵键盘输入数字,通过1602显示屏显示计算结果,能够实现整数的加、减、乘、除四则运算,具备清除功能。 阅读详情

相关推荐

Halcon窗体开发避坑指南:C#自定义控件实现7大图像交互功能

本文详细介绍了如何利用C#封装自定义Halcon控件,以解决原生HWindowControl功能不足的问题。通过实战代码,展示了如何实现图像按比例显示、鼠标拖动缩放、灰度值读取、图像保存、截图及图形叠加等七大核心交互功能,并重点剖析了内存管理、坐标转换等开发避坑要点,帮助开发者构建稳定可复用的机器视觉组件库。

weixin_29251131的博客 292

UVA - 113 Power of Cryptography

UVA - 113 Power of Cryptography题目大意:给一个数 求它的n次开方 解题思路:因为数据小 可以直接用pow来解 ,当然 正解应该数高精度 加 二分法 ,二分还不大会,就偷懒了一下。#include <cstdio> #include <cmath> int main() { int N; double M; while (scanf("%d

cwb15505905513的博客 323

KTransformers安装笔记 利用docker安装KTransformers

KTransformers安装笔记 利用docker安装KTransformers

guoqingru0311的博客 1562

UVa 113: Power of Cryptography

这道题要求p开n次方的结果。貌似要用大整数类,但仔细看会发现p的范围并不超过double类型的表示范围(负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308),所以调用pow函数就可以了。 注意pow计算后的结果要进行一个小处理防止结果出现小数。 我的解

rising_fallmoon的专栏 913

别再只调OpenCV参数了!手把手教你用Python bm3d库搞定图像去噪(附完整代码与效果对比)

本文详细介绍了BM3D算法在图像去噪中的高级应用,通过Python bm3d库实现超越OpenCV传统方法的去噪效果。文章包含完整代码示例、参数调优技巧及工程化应用场景,帮助开发者掌握这一被称为'传统方法天花板'的技术,显著提升图像信噪比和细节保留能力。

weixin_28362173的博客 366

宽带阻抗匹配的工程实现-第一步,端口驻波仿真

其实阻抗匹配我工作以来经常说,也经常做,但是基本上都是直接在印制板上进行调试。现在想先用仿真软件直接设计出来,才发现很多东西嘴上说容易,想做出来太难了。所以准备写一些文章,记录一下碰到的问题。

pp_0604的博客 2376

Power of Cryptography

//只用一行核心代码就可以过的天坑题目............= = 题目: Description Current work in cryptography involves (among other things) large prime numbers and computing powers of numbers among these primes. Work in thi...

weixin_30483697的博客 104

Proteus 8.15仿真STM32F103C8,ADC采样总为0?别急着换芯片,先检查这3个配置

本文详细解析了在Proteus 8.15中仿真STM32F103C8时ADC采样值为0的常见原因及解决方法。从供电网络配置、时钟设置到ADC参数调整,提供了系统性的排查指南,帮助开发者快速定位问题,避免不必要的硬件更换。重点关注供电网络、时钟分频和ADC配置等关键环节。

weixin_30425949的博客 366

uva 113 Power of Cryptography

二分法,不多说了,一开始在纠结大数字该怎么办,后来发现32bit环境下double最大值是1.7e+308,完全够用了。 #include #include #include int func(double n, double p) { int l, r, m; double v; l = 1; r = 1000000000; while(1) { m = (l+r)/

皓首不倦 不负少年 670

core_analyzer分析c++程序内存占用

环境:centos; 进程:单进程多线程c++程序; 问题:1. 分析系统内存占用; 2. 分析ptmalloc内存空洞(bins上的空闲chunk的大小); 包括:1. 占用了很大内存的c++进程; 2. gcore(在进程不core dump的情况下生成core文件); 3. core_analyzer(分析gcor...

weixin_41644391的博客 4811

手把手教你用ArduPilot搭建低成本无人车(附APM飞控+有刷电调配置清单)

本文提供了一份基于ArduPilot开源平台搭建低成本智能无人车的详细实战指南。核心内容包括APM架构飞控的选型、双向有刷电调的兼容性配置与校准、系统连接逻辑,以及通过Mission Planner地面站进行参数调校和自主导航功能设置的完整流程,帮助爱好者快速实现从手动控制到自主行驶的跨越。

java5的博客 850

贪心——Power of Cryptography

Power of Cryptography Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 18080   Accepted: 9124 Description Current work in cryptography involves (among other t

空白页 639

〔重庆理工大学〕计算机网络实验指导书【实验九 直连路由,静态路由,默认路由配置】

本实验指导书介绍了直连路由、静态路由和默认路由的配置方法。主要内容包括:1)路由器基础知识,包括直连路由、静态路由和动态路由三种路由生成方式;2)路由度量值与匹配顺序,解释了不同路由类型的优先级;3)实验任务分为三个部分:直连路由的查看分析、静态路由的配置以及默认路由的配置,详细说明了配置步骤和命令。实验要求通过模拟器搭建网络环境,完成路由配置使PC间能够互通。实验旨在帮助学生掌握不同路由类型的工作原理和配置方法,适用于简单的网络环境。

Pretty Boy Fox的博客 1056

UVA 113 Power of Cryptography (数学)

Power of Cryptography Background Current work in cryptography involves (among other things) large prime numbers and computing powers of numbers modulo functions of these primes. ...

weixin_34214500的博客 195

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

POJ2109 ZOJ2486 UVA113 UVALive3098 Power of Cryptography【数学】

Power of CryptographyTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 26661 Accepted: 13325DescriptionCurrent work in cryptography involves (among other things) large prime numbers and comput...

海岛Blog 638

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

UVA 113-Power of Cryptography 数学水题

本题题意为给一个n,一个p,求k,使得k的n次方等于p,由于

加油吧~Araleii 497

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

UVA 113 (暑假-数学-A - Power of Cryptography)

Power of Cryptography  Background Current work in cryptography involves (among other things) large prime numbers and computing powers of numbers modulo functions of these primes. Work in t

Bingo 1551

UVA-113 Power of Cryptography

2016-07-20 UVA-113 Power of Cryptography 题目大意:k^n=p,给出 n 和 p 求 k 解题思路:k = p ^ (1/n) 注意:这题用double即可,原因如下。 此题可用double的原因 #include #include #include using namespace std; int main()

振丿Love 422

UVA 113 Power of Cryptography

UVA-113 Power of Cryptography题目大意:1 <= n <= 200, 1 <= p <= 10^101, k^n = p, 已知 n, p, 求 k。Sample Input 2 16 3 27 7 4357186184021382204544Sample Output 4 3 1234解题思路:这个题思路是先求1+2+3+……+n>k的最小n,然后判

Tochase的博客 359

UVa 113 Power of Cryptography

本文探讨了求解整数n次根的三种方法。题目要求计算满足k^n=p的整数k,其中p可能极大(10^101)。方法一采用高精度运算和二分查找,通用但复杂;方法二利用double类型进行二分查找,简洁高效;方法三直接使用pow函数计算p^(1/n),最为简便。分析表明,在题目限定范围内,后两种方法依赖浮点数精度仍能正确求解,而方法一虽可靠但效率较低。根据具体需求可选择不同实现方案。

寂静山林 599

113 - Power of Cryptography

Uva 113 - Power of Cryptography  Power of Cryptography  Background Current work in cryptography involves (among other things) large prime numbers and computing powers o

foolbird 551

UVA 113 Power of Cryptography

YIYI:  k  ^ n = p; 求k? 原先不知道该用什么类型来存数据,百度下发现double就够存了。 Description Background Current work in cryptography involves (among other things) large prime numbers and computing powers of numbe

哈希的博客 367

Uva 113 Power of Cryptography

Power of Cryptography  Background Current work in cryptography involves (among other things) large prime numbers and computing powers of numbers modulo functions of these primes. Work in t

小G的ACM之路 793

A - Power of Cryptography uva113

A - Power of Cryptography uva113Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Practice UVA 113 Appoint description: Background Current work in cryptography i

qwesde 1077

UVA 113-Power of Cryptography

UVA 113-Power of Cryptography题目大意:给n和p,求出k,使得k^n=p解题思路:用pow()函数#include <stdio.h> #include <iostream> #include <math.h> using namespace std; int main() { double a, b; while(scanf("%lf%lf", &a,

ZeroLH00的博客 384
上一篇: UVA 10194 - Football (aka Soccer)
下一篇: UVA 575 - Skew Binary (模拟)
zcube
博客等级 码龄17年 170粉丝 120原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值