我试图创建一个函数,该函数返回给定数字的最小素数:
require 'prime'
def findSmallestPrimeFactor(number)
return 2 if number.even?
return number if Prime.prime? number
arrayOfFactors = (1..number).collect { |n| n if number % n == 0 }.compact
arrayOfFactors.each { |n| arrayOfFactors.pop(n) unless Prime.prime? n
我能够用这种方式为素数编写一个函数。
def isprime(num):
if num > 1:
for i in range(2, num):
if num % i == 0:
return False
return True
%timeit [i for i in range(1000) if isprime(i)]
7.94 ms ± 273 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
然后我发现用平方根写这个有一种
在Python中,我正在使用牛顿的猜测和检查方法来完成一道近似数字平方根的数学题。用户应该输入一个数字,对该数字的初始猜测,以及他们想要在返回之前检查答案的次数。为了让事情变得更简单并了解Python (我几个月前才开始学习这门语言),我把它分成了几个较小的函数;但现在的问题是,我在调用每个函数和传递数字时遇到了麻烦。
这是我的代码,带有帮助注释(每个函数都是按使用顺序排列的):
# This program approximates the square root of a number (entered by the user)
# using Newton's method (g
我试图从Euler项目中解决一个问题: 13195的素因子是5,7,13和29。数字600851475143中最大的素因子是什么?以下是我的尝试:
def getPrimeNumbers(testNumber):
'''
For a given number it returns a list of all prime numbers from 2 to given number.
>>> getPrimeNumbers(15)
[2,3,5,7,11,13]
'''
这就是我到目前为止所拥有的代码。该项目的目标是让用户为ax^2+bx+c方程式输入a、b、c的任意整数。由于某些原因,我没有得到输入到程序中的任何数字的正确根。谁能指出我做错了什么?
import java.util.*;
public class Quad_Form {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
double a = 0;
double b = 0;
double c = 0;
double discrim = 0;
最近我发布了,答案真的很有帮助。在中,我试图为两个相交的圆圈编写代码。
我想我的代码做错了什么,结果它给了我交汇点连接线的中点。我不知道我的密码出了什么问题。
我发现很难处理这个循环。我需要向量的实际长度,但是如果我将它写到循环中,对于i+1,它将显示错误(这是非常自然的,因为我没有找到任何'<‘操作符:()
这是我的密码-
Xs = [150,130];% x coordinates of center of circles
Ys = [100,250];% y coordinates of center of circles
Rs = [100,70];%
在我的领域中,很常见的是将一些数字平方,将它们放在一起运算,然后取结果的平方根。例如,这在毕达哥拉斯定理和RMS计算中完成。
在numpy中,我完成了以下操作:
result = numpy.sqrt(numpy.sum(numpy.pow(some_vector, 2)))
在纯python中,可能会出现这样的情况:
result = math.sqrt(math.pow(A, 2) + math.pow(B,2)) # example with two dimensions.
然而,我一直在使用这个纯python表单,因为我发现它更加紧凑,与导入无关,而且看起来是等价的:
result =
我正在研究Euler项目,问题3。问题是:
13195的素数是5,7,13和29。600851475143的最大素数是什么?
在回答这个问题时,我把任务分解为首先找到所有素数<x(反向)。为什么下面的代码似乎不工作,我不确定是逻辑或不正确的使用运算符。
#A function to find prime numbers under n
def find_prime(n):
for i in reversed(xrange(2, n)):
if (n % i) != 0:
print i
find_prime(n)
在测试中,为了好
到目前为止,我还没有使用过Pascal,我的问题是理解prm赋值操作符的递归方面以及最终(正确)值是如何导出的。有人能帮我解释一下这句话吗。
Program test(output);
FUNCTION prm(az:integer) : real;
begin
if az = 1 then
prm := sqrt(12)
else
prm := sqrt(12*prm(az-1));
end;
begin
writeln(prm(30):0:2);
end.
给定a=1、b=5和c=6的值,x的值应该是-2和-3,但是下面的程序给出的x的值是6和-11,这是不正确的。如果有人能找出程序出了什么问题,我将不胜感激。
#include<iostream.h>
#include<conio.h>
int main()
{
char reply;
int a,b,c,q,z;
do
{
cout<<"Enter the value of a: ";
cin>>a;
cout<<"\nEnte
可能重复:
我正在尝试用c#编写一些代码,这些代码将给我第n个素数,但是一旦我的代码作为素数超过121,它就会返回不正确的数字。
这可能是因为我的代码基于错误的算法,但我想在这里询问一下,看看我是否做错了什么。
代码要求n个素数10001 -输出: 43751 (我知道这是错误的)。
这是我的密码。
int[] p;
int x = 0;
p = new int[10002];
for (int i = 0; i < 1000000; i++)
if (i % 2 != 0)
{
if (i % 3 != 0)
{
if (i % 5 != 0)
我试图用梯形法找到下面函数的积分,但是没有得到正确的答案(应该是pi)。
下面是我实现的代码。请告诉我如何编辑它。
import numpy as np
def v(t):
return np.sqrt(t - t**2)
def trapezoidal(f, a, b, n):
h = (b-a)/n
f_sum = 0
for i in range(1, n, 1):
x = a + i*h
f_sum = f_sum + f(x)
return h*(0.5*f(a) + f_sum + 0.5*f(b))
n
>>> k=1
>>> sum=0
>>> for i in range (2,10):
for j in range (2,i):
if ((i%j)==0):
k=0
if (k==1):
sum+=i
>>> print(sum)
5
我不知道为什么,但是这段代码没有给出17作为输出,而总是给出5。
我的代码是
#Import the module
from math import sqrt
#Using while loop statement to make the program not finish before the user close the program.
while True:
#Print out the introduction message, and get the input value to solve the quadratic equation.
print("ax^2+bx+c=0의 꼴로 된 방정식을 풀 수 있습니다. a,
所以我在编写python的时候还是个新手,所以我决定尝试做一个二次方程的求解器。输入所有用户输入的变量后,会得到以下错误:
Traceback (most recent call last):
File "C:/Users/insertnamehere/Desktop/quadratic formula solver.py", line 6, in <module>
root=math.sqrt((b**2)-4*a*c)
ValueError: math domain error
我的代码是:
import math
a=float(input(
我想逐行列出100到200之间的所有质数...这是我试着写的代码。我正在尝试使用for循环来查看数字(例如100)是否可以被从2到数字本身的任何数字整除。所以我希望程序检查它是否可以被任何一个c值整除,如果是,那么只需停止程序,然后继续到下一个数字(例如101,102...)但是我似乎找不到一种方法来做这件事,如何正确地使用break命令
prime = False
for i in range(100, 201):
for c in range(2, i):
if i % c == 0:
prime = False
br