def digital_root(n):
x = str(n)
while len(x)!=0 and len(x)!=1:
r = 0
for i in range(len(x)):
r= r + int(x[i])
x = str(r)
return r 数字根是数字中所有数字的递归和。给定n,取n的位数之和。如果该值有一个以上的位数,则继续以这种方式递减,直到产生一个一位数。这只适用于自然数。 我的代码: 这段代码效率高吗?我得到以下错误: Traceback (most recent ca
我在想,我可以测试我在关于的问题中得到的各种答案。所以我想我应该创建一个方法来创建一大堆范围,看看各种方法是如何处理它的。
但是,当涉及到生成随机内容时,我并不是很擅长。我创建了类似这样的东西:
private static IEnumerable<Range<int>> GenerateRanges()
{
var r = new Random();
var n = 10000;
while(--n >= 0)
{
var start = r.Next(100
我想要创建一个保持活力的连接,它不应该关闭。我试着用下面的方法,但在日期打印之后,它就关闭了。
public class SimplePHTTPServer {
public static void main(String args[]) throws IOException {
ServerSocket server = new ServerSocket(1122);
System.out.println("Listening for connection on port 1122 ....");
while (true) {
try
我正在看别人的vba excel代码。他们在两个循环中都在做ReDim Preserve dataMatrix(7, i)。这是做什么的?
另外,第二个循环似乎只是覆盖了第一个循环中的数据,对吗?
Dim dataMatrix() As String
Worksheets.Item("ETS").Select
Do While Trim(Cells(r, 1)) <> ""
Debug.Print "The line: ", Trim(Cells(r, 1)), r
r = r + 1
我试着用Python做一个闪存卡的小测验。这涉及从文本文件中获取各州及其首都。为了创建一本带键的字典,我设法脱下和分离了。
但是,每次在for循环中使用随机选择时,它都输出最后一个键(例如怀俄明州),而当我从for循环中取出它时,它只输出第一个键(例如阿拉巴马州)。
如下所示(很明显,这没有显示文本文件)
import random
with open("state_capitals.txt","r") as f:
for line in f:
cleanedLine = line.strip().split(',')
state
def bbsort(list1):
for passnum in range(len(list1)-1,0,-1):
for i in range (passnum):
if list1[i]>list1[i+1]:
temp =list1[i]
list1[i] = list1[i+1]
list1[i+1] = temp
这是冒泡排序的代码,但是在while条件中-1,0,-1有什么用呢?
我有一个数组,例如{1,2,4,5,6}。我想让我的函数找到最大的可能数X,这样,从1,2,…,X到1的所有数字都在数组中。在本例中,数组中的数字可以从0到无穷大。
我的尝试是:
int array(int* t, int r) {
int* a;
int m=0;
int i;
for(i=0;i<=r;i++){
a[i]=i;
if(a[i]==t[i])
m++;
}
return m;
}
我想要创建一个从1到r的数组,它是数组的长度,充满自然数,即{1,2,3.}。然后我
我正在尝试创建一个脚本,它将隐藏范围中的单元格为空的列(条件)。
下面是我的表的样子,你可以看到有12个角色。基本上,我想隐藏从角色4开始的任何列,这些列是未使用的,例如,3行中没有值。
我有一个脚本工作(见下文),但它也隐藏角色1,2和3,如果它们是空白的。我希望脚本只从角色4(F列)开始工作。我需要在脚本中修改什么才能起作用?
附注:我已经使用了来自其他帖子的代码把这些放在一起,所以在我不需要的代码中可能有行,我对google脚本还是很陌生的。
function hidecolumns() {
var sh = SpreadsheetApp.getActiveSpreadsh
我想用matlab实现monte算法,这与我在其他地方看到的略有不同。我有一个工作的例子,我生成了一个1000点的向量,并根据它计算π。现在我想要一个模型,在这个模型中,我可以在同一个例子中添加额外的点。
到目前为止,这是我的代码:
a=rand(1000,1); %initial random vectors
b=rand(1000,1);
n=1000;
m=0; %Number of points inside circle
while true
x1=a-0.5;
y1=b-0.5; %cirle has centre at (0.5,0.5)
r=x1.^2+y1.
在xcorr函数中,除了xcorr中的一个称为"findTransformLength“的函数之外,大部分都是非常简单的。
function m = findTransformLength(m)
m = 2*m;
while true
r = m;
for p = [2 3 5 7]
while (r > 1) && (mod(r, p) == 0)
r = r / p;
end
end
if r == 1
对于快速排序算法的一些实现,我很难定义和证明一个循环不变的。这既不是洛穆托的,也不是霍尔的分区版本。
如果您知道一些已知版本的快速排序是这样实现的,请让我知道,请。
算法在Python中的实现:
def partition(arr: list, p: int, r: int):
y = arr[p]
i = p
j = r + 1
while i < j:
i = i + 1
while i <= r and A[i] < y:
i = i + 1
j = j - 1
我正在尝试创建一个检测程序来检测n的一个值和另一个值之间的部分和之差,但我得到了OverflowError的错误:(34,'Numerical result out out range')。在存储的数字类型方面,有什么地方我做得不对吗?这是我的代码: def compute_sum(a, b, tolerance=1e-5):
"""Compute the sum $\sum^\infty_{n=1} a^n / b^{n-1} until the partial sums are less than *tolerance*.
我一次又一次地收到这个错误:
Traceback (most recent call last):
File ".\bing.py", line 31, in <module>
s.write(str(title[i].text) + ',' + link[i].text + ',' + description[i].text[30:70] + '\n')
IndexError: list index out of range
这个错误的意义是什么,为什么我会得到这个错误?
这是我的代码:
for url_
我们正在学习网络中的套接字,我们的任务是用Python填写一个模板(老师使用Python2.x,我使用Python3.x)。
# Import socket module
from socket import *
# Create a TCP server socket
#(AF_INET is used for IPv4 protocols)
#(SOCK_STREAM is used for TCP)
serverSocket = socket(AF_INET, SOCK_STREAM)
# Assign a port number
serverPort = 6789
# B
我在int数组中使用元素id(var)和指针循环遍历int和char数组,在int数组中给出OOB垃圾值,但是对于char数组,它打印正确的值,即使我不使用'\0',为什么?以下是char数组的代码:
char name[7] = {'R','a','s','h','m','I','\0'};
int i=0;
while(name[i])
{
printf("value of a = %c \n",name[i
我尝试设置一个截止点来组合快速排序和插入排序,当n(要排序的数据数)低于截止值时使用insert排序。然而,我发现这个方法不起作用,甚至比以前更糟糕。为什么以及如何改进它?
要对10e4随机整数进行排序,具有截止值(50)的快速排序需要0.6s,没有截止值的方法只需要0.02s。
具有截止点(50)的快速排序:
def quick_sort(line, l, r):
if r - l > 50:
pivot = find_median(line, l, r)
i, j = l+1, r-2
while True:
public static void addpatron()
{
Console.WriteLine("You have selected to add a Patron.");
string first, last, city, state = "", street, email, temp;
int zip = 0;
long number = 0;
Console.WriteLine("Please Provide a First Name: ");
我有一个多维列表。我想检查不同列表的元素是否相等,或者只使用if语句。我用for循环和while循环写了不同的版本。我不知道如何只使用if语句来做同样的事情。
下面是我的代码。
A = [[[1], [2]],
[[3], [4]],
[[5], [6]],
[[7], [8]],
[[7], [8]]]
# Checking if two lists are equal or not using for loop
for i in range(len(A)-1):
if A[i] == A
我知道这可能是个愚蠢的问题,也许是今天最愚蠢的问题,但我不得不问:是我发明了这个排序算法吗?
昨天,我对基于交换的排序算法有了一点启发。今天,我实现了它,它成功了。
它可能已经存在了,因为外面有很多不那么流行的排序算法,它们很少或根本没有信息,而且几乎不存在它们的实现。
描述:基本上,这个算法取一个项目,他们一对,然后再一个项目.直到名单结束。对于每一项/对,在距离对空间或项半径相同的范围内比较每两项,直到到达数组的边框,然后在需要时交换这些项。对列表中的每一对/项重复此操作。
一种基于英语的伪码:
FOR i index to last index of Array (starting fr
感谢@RedBassett的重新来源(Kotlin问题解决):
我知道这里存在这个问题:
但我对Kotlin并不熟悉,我想探索Kotlin的直接特性。因此,正如标题所示,我试图找到一种Kotlin特定的方法来很好地解决生成一个4位数的问题(在此之后,可以很容易地使它适应长度x),而不会重复数字。
这是我目前的工作解决方案,并希望使它更科特林。如果能提供一些意见,我会非常感激的。
fun createFourDigitNumber(): Int {
var fourDigitNumber = ""
val rangeList = {(0..9).random()}
输入:一个字符数组和一个置换函数P。函数P以某种确定性的方式对输入进行洗牌。例如,如果P是(向右推)
1234 -> P -> 4123 -> P -> 3412 -> P -> 2341 -> 1234
在上面的示例中,将P四次应用于输入将为您提供一个输入。P可以是一个身份映射,也就是说,要求的重复是一个
1234 -> P -> 1234
P可以看作是某种映射函数,它最终改变了输入,而P的输出需要是原始输入的置换。P可能很复杂,比如交换赔率和偶数;其次,先交换和最后交换,以此类推。
你的工作就是写一个函数,比如说,
pu
def mergeSort(A):
if len(A) < 2:
return A
mid = int(len(A)/2)
left = mergeSort(A[:mid])
right = mergeSort(A[mid:])
r,l = 0,0
B = []
while len(B) < len(A):
if r >= len(right) or (l < mid and left[l] < right[r]):
B.append(left[l
我在为一门课程写一个编译器。我遇到了一些优化问题,我不知道如何最好地处理这些问题。假设输入语言中有一个while循环,它使用N个局部变量,这些变量必须保存在寄存器中(或者应该保存在寄存器中,以便快速计算)。假设N> K是寄存器的数目。在while循环结束时,有可能更改条件寄存器。
例如,假设x的寄存器(假设i386上的%eax )是在以下语句之前确定的:
while ( x ) { x = x - 1 ; /* more statements */ }
在更多的语句代码中,x有可能被溢出回堆栈。当代码跳回while循环的开头来重新计算x时,它将尝试使用%eax--但是现在它甚至可能不保存