数论 --- 简单计算

Power
of Cryptography










Time Limit: 1000MS   Memory Limit: 30000K
Total Submissions: 18018   Accepted: 9090

Description

Current work in cryptography involves (among other
things) large prime numbers and computing powers of numbers among these primes.
Work in this area has resulted in the practical use of results from number
theory and other branches of mathematics once considered to be only of
theoretical interest.
This problem involves the efficient computation of
integer roots of numbers.
Given an integer n>=1 and an integer p>= 1
you have to write a program that determines the n th positive root of p. In this
problem, given such integers n and p, p will always be of the form k to the
nth. power, for an integer k (this integer is what your program must
find).

Input

The input consists of a sequence of integer pairs
n and p with each integer on a line by itself. For all such pairs 1<=n<=
200, 1<=p<10101 and there exists an integer k,
1<=k<=109 such that kn = p.

Output

For each integer pair n and p the value k should
be printed, i.e., the number k such that k n =p.

Sample Input

2 16
3 27
7 4357186184021382204544

Sample Output

4
3
1234

【题目来源】

México
and Central America 2004

http://poj.org/problem?id=2109

【题目分析】

这道题目里面 p, n 没有超过 double 范围,所以可以直接算。

一开始看了分类说是贪心,还想了半天

各种数据类型范围:

unsigned   int   0~4294967295   

int   2147483648~2147483647 
unsigned long 0~4294967295

long   2147483648~2147483647
long long的最大值:9223372036854775807

long long的最小值:-9223372036854775808
unsigned long
long的最大值:1844674407370955161

__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned
__int64的最大值:18446744073709551615


#include<stdio.h>
#include<math.h>
int main()
{
double m,n;
while(scanf("%lf%lf",&m,&n)!=EOF)
{
printf("%.0lf\n",pow(n,1.0/m));
}
return 0;
}

数论 --- 简单计算

时间: 2024-10-14 13:07:16

数论 --- 简单计算的相关文章

数论 --- 简单题

吃糖果 Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 22376    Accepted Submission(s): 6396 Problem Description HOHO, 终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢先吃一种,下一次吃另一 种,这样:

Codeforces 413B Spyke Chatting(数论简单)

题目链接:Codeforces 413B Spyke Chatting 题目大意:n个人,m种聊天器,k次发送消息,然后给出n*m的矩阵,如果g[i][j]为1,则表示i号人会使用j号聊天器,接着给出k次消息发送者和聊天器,如果i在j种聊天器上发送了一条消息,那么所有使用j种聊天器的人都会接受到消息.现在要求每个人会接受到几条消息,自己发送的不算. 解题思路:分别记录每个聊天器上有多少个消息,以及每个人发送了多少条消息,然后计算每个人接受到多少条消息的时候只要将这个人所使用的各个聊天器消息数取和

Python中的简单计算

Python中的简单计算 (1)基本的加减乘除 >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5  1.6 (2)除法总是会返回一个浮点数,想要返回整数,需要用"//"来表示(floor division),另外,可以用"%"进行取余操作 >>> 17 / 3  # classic division ret

HDU 1038[Biker&#39;s Trip Odometer]简单计算

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1038 题目大意:给轮子直径,转数,时间.要求输出走过的距离和时速(mile为单位) 关键思想:纯算 代码如下: #include <iostream> using namespace std; #define pi 3.1415927 int main(){ double d,r,t,l; int cnt=1; while(cin>>d>>r>>t&&a

SDUT OJ 2616 简单计算

简单计算 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 某天,XX 给YY 出了一道题,题目是: 给出n 个十进制的数,找出这n 个数的二进制表示中1 的个数最少的数. 由于YY 的计算能力很差,所以他想让你帮他写个程序来计算出来. 输入 输入的第一行为一个正整数T(1 ≤T≤20),代表测试数据组数. 对于每组测试数据: 输入的第一行为一个正整数n (1 ≤ n ≤105): 第二行为n 个正整数A1.A2.… .An(1

Date()日期简单计算

/** * 判断是否为闰年 * @param year * @return */ public boolean isLeap ( int year ) { if ( (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ) return true; else return false; } /** * 判断某年某月总天数 * @param year * @param month * @return */ public int get

简单计算字符串的高度

计算字符串的高度有很多种,这里写下最常用的简单计算字符串的高度 // // NSString+NSStringExt.h // UIFontSize // // Created by mac on 15/11/14. // Copyright (c) 2015年 叶炯. All rights reserved. // #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface NSString (NSSt

一个Nodejs的简单计算测试程序

测试目的: 1 测试二维数组的使用 2 输出函数的使用 代码: var util = require('util'); a = 3; b = 4; c = a + b; a = []; for(i = 0; i < 10; i++) { info = ""; for(j = 0; j < 10; j++) { a[i,j] = i + j; util.print(util.format('%d', a[i, j])); util.print(' '); } console.

读书-算法《程序设计导引及在线实践》-简单计算题2:棋盘上的距离

题目:棋盘上的距离 求国际象棋中王.后.车.象从起始位置到目标位置所需的最少步骤. 行走规则如下: 王:横.竖.斜都可以走,但每步只能走一格. 后:横.竖.斜都可以走,但每步格数不限. 车:横.竖都可以走,不能斜着走,每步格数不限. 象:只能斜着走,格数不限. 我没有下过国际象棋,但题目中这四种角色的行走规则.把题目翻译一下,在一个8*8 的矩阵里面,按照给定的规则从一个点到另一个点的最近路径,好像也不用翻译,题目就是这么说的. 代码实现如下: #include <stdio.h> #incl