如何float在python中打印超过10位数的数字?现在,什么时候做
print sqr_newton(10, 3, 0.001) (其中sqr_newton是newton的平方根算法;返回一个浮点数)
它只在小数位后给出这么多数字......我怎样才能得到更多?
如何从功能中找到第一个完美的正方形:f(n)=An²+Bn+C?给出B和C. A,B,C和n总是整数,A总是1.问题是找到n.
Example: A=1, B=2182, C=3248
第一个完美正方形的答案是n = 16,因为sqrt(f(16))=196.
我的算法递增n并测试平方根是否为整数nunber.
当B或C很大时,该算法非常慢,因为它需要n次计算才能找到答案.
有更快的方法来进行此计算吗?有一个简单的公式可以产生答案吗?
我有一个函数来检查数字是否是平方根:
def primeness(n):
for x in range(2, (n**0.5) + 1):
if n % x == 0:
return False
return True
def main():
n = input('Type a digit \n')
if primeness(n):
print(n, 'is a prime number')
else:
print(n, 'is not a prime number')
main()
Run Code Online (Sandbox Code Playgroud)
但是每当我运行它时,我都会收到此错误:
Traceback (most recent call last):
File "C:/Users/Matt/Desktop/Python Stuff/test.py", line 12, in <module>
main()
File "C:/Users/Matt/Desktop/Python Stuff/test.py", line 8, in main
if primeness(n):
File "C:/Users/Matt/Desktop/Python Stuff/test.py", line 2, in primeness
for x in range(2, (n**0.5) + 1): …Run Code Online (Sandbox Code Playgroud) 我在java中实现了Babylonian/Heron的方法,以获得基于维基百科信息的数字的平方根
目前我有:
public static void main(String[] args) {
System.out.println(Sqrt.sqrt1(8));
//System.out.println(Sqrt.sqrt2(8)); //Infinite loop
System.out.println(Sqrt.sqrt3(8));
System.out.println(Sqrt.sqrt4(8));
}
static float sqrt1(float x) {
float b = 0, h = x;
while (b != h) {
b = (h + b) / 2;
h = x / b;
}
return b;
}
static double sqrt2(double x) {
double b = x, h = 0;
while (b != h) {
b = (h + b) / 2;
h = x / b;
} …Run Code Online (Sandbox Code Playgroud) 我只是想知道如何在Java中打印平方根(√)字符?我假设你使用它的unicode或什么?
我正在尝试编写一种方法来获取Python中给定范围内的所有完美正方形.大范围,如2621163和520001400002.现在明显迭代范围并检查数字是否完美如此
def is_square(n):
return math.sqrt(n).is_integer()
Run Code Online (Sandbox Code Playgroud)
然后打印它对于大范围是愚蠢的(适用于小范围)并将永远.我想知道是否有任何Python魔法或mathemagic(比如改进的丢番图方程式)我可以为此目的利用.
编辑:我也使用Python 3.X所以我可以使用大整数.
我已经坚持这个问题很长一段时间了,当我在控制台中输入输入时它似乎工作正常,但是当提交时我的解决方案总是失败测试#3(你无法看到输入或输出是什么).问题在于蒂姆斯.这是问题所在:
问题很简单,作者懒得为它写一个声明!
输入
输入流包含一组整数Ai(0≤Ai≤1018).数字由任意数量的空格和换行符分隔.输入流的大小不超过256 KB.
产量
对于从最后一个到第一个的每个数字Ai,您应该输出其平方根.每个平方根应打印在一个单独的行中,小数点后至少有四位数.
输入:
1427 0
876652098643267843
5276538
Run Code Online (Sandbox Code Playgroud)
输出:
2297.0716
936297014.1164
0.0000
37.7757
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
using System;
using System.Collections.Generic;
using System.IO;
namespace ReverseRoot
{
class Program
{
static void Main(string[] args)
{
List<ulong> longs = new List<ulong>();
string current = "";
bool inNumber = false;
string input = Console.In.ReadToEnd();
for (int i = 0; i < input.Length; ++i)
{
char c = input[i];
if (inNumber && !char.IsDigit(c))
{
longs.Add(ulong.Parse(current));
inNumber = false;
current = ""; …Run Code Online (Sandbox Code Playgroud) 我试过测量这两种取平方根的速度:
> system.time(expr = replicate(10000, 1:10000 ** (1/2)))
## user system elapsed
## 0.027 0.001 0.028
> system.time(expr = replicate(10000, sqrt(1:10000)))
## user system elapsed
## 3.722 0.665 4.494
Run Code Online (Sandbox Code Playgroud)
如果sqrt()功能无法与之竞争** 0.5,为什么我们需要这样的功能呢?
(系统是OS X Yusemite,R版本是3.1.2)
据我所知,没有内置函数可以直接执行此操作,所以log()?或简单的数学快捷方式,如:
z = y ** (1/x)
Run Code Online (Sandbox Code Playgroud)
X?
我试图在Swift中计算2的第6个根,我找不到合适的函数.
这里有一篇名为" 如何找到值的第n个根? "的帖子,其中提出的解决方案是使用的
pow(2, (1/6))
Run Code Online (Sandbox Code Playgroud)
但我相信这不起作用,因为签名pow是
func pow(_ x: Decimal, _ y: Int) -> Decimal
Run Code Online (Sandbox Code Playgroud)
所以上面公式的结果是1而不是1.122462 ...作为(1/6)舍入到0.
iPhone计算器可以做到,所以必须有办法:)
谢谢!
square-root ×10
algorithm ×3
python ×3
java ×2
math ×2
c# ×1
foundation ×1
logarithm ×1
numbers ×1
performance ×1
pow ×1
primes ×1
printing ×1
python-3.x ×1
r ×1
sqrt ×1
swift ×1
unicode ×1