我明天要参加GRE,并有一个问题.根据答案键,此练习测试表明从N到{0,1}的所有函数的集合是不可数的.
你不能将自然数映射到这些函数,如下所示?
i 1 2 3 4 5 6 7 8 ...
f0 = 0 0 0 0 0 0 0 0 ...
f1 = 1 0 0 0 0 0 0 0 ...
f2 = 0 1 0 0 0 0 0 0 ...
f3 = 1 1 0 0 0 0 0 0 ...
f4 = 0 0 1 0 0 0 0 0 ...
Run Code Online (Sandbox Code Playgroud)
即,f4(1)= 0,f4(2)= 0,f4(3)= 1,并且f4(其他任何东西)= 0.这最终会涵盖所有可能的这些功能吗?我们绝对可以将自然数映射到此集.
假设n是一个整数(intC中的变量).我需要足够的空间"4倍于n的上限除以3"字节.我如何保证足够的空间?
您是否认为malloc(4*(int)ceil(n/3.0))会这样做,或者我必须添加,比如说,1为了绝对安全(由于可能的舍入错误)?
我正在读"计算机编程的公理化基础".他们在公理中使用可证明符号,,例如
?P {Q} R
Run Code Online (Sandbox Code Playgroud)
维基百科描述了该符号的使用,因为"x⊢y表示y可以从x(在某些指定的正式系统中)证明,"但这似乎不适合这里.符号是什么意思?
该论文可在此处找到:http://www.cs.ucsb.edu/~kemm/courses/cs266/acmhoare69.pdf
求解二次方程
到目前为止,我已写下以下内容.我不确定如何引入第二种方法
public static void main(string args[]){
}
public static double quadraticEquationRoot1(int a, int b, int c) (){
}
if(Math.sqrt(Math.pow(b, 2) - 4*a*c) == 0)
{
return -b/(2*a);
} else {
int root1, root2;
root1 = (-b + Math.sqrt(Math.pow(b, 2) - 4*a*c)) / (2*a);
root2 = (-b - Math.sqrt(Math.pow(b, 2) - 4*a*c)) / (2*a);
return Math.max(root1, root2);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习递归,并编写了一个函数,它接受一个数字并将其计数到零,然后再次将其计数到原始数字,该函数有效,但我不明白为什么它的工作方式与它一样.我解释了为什么在else语句后打印的第一个打印:"5 4 3 2 1"然后数字为0并且if语句打印:"0".在这种情况之后,我不明白,因为现在函数在else语句之后进入第二个打印并打印:"1 2 3 4 5"这对我来说很奇怪.如果有人能向我解释,我真的很感激.
<?php
function rec_downandup($num){
if($num == 0){
print '0 ';
}else{
print $num.' ';
rec_downandup($num-1);
print $num.' ';
}
}
rec_downandup(5);
?>
Run Code Online (Sandbox Code Playgroud)
产量
5 4 3 2 1 0 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud) 给定一组点(GPS坐标)和包含所有这些点的多边形,可以确定这些点覆盖该区域的程度,或者从多边形内的任何位置到最近点的最长距离是多少?
例如,如果我在纽约市区内有所有消防部门,我想知道消防车在最坏的情况下需要多长时间驾驶(在紧急情况下).
关于这个问题的名称是什么或者这个问题可以减少到什么的任何想法?或者是否有任何现有的算法?
谢谢 :)
这可能是一个微不足道的问题,但我真的无法在任何地方找到答案.计算机科学中有一个我认为特殊的惯例.
在haskell中,数据类型可以像这样定义:
data Bool = False | True
Run Code Online (Sandbox Code Playgroud)
在xml中,限定名称的定义如下:
QName ::= PrefixedName | UnprefixedName
Run Code Online (Sandbox Code Playgroud)
可能有更多类似的例子,但这应该足够了.
通常但是很好理解的是|(管子或棒钢)应被理解为or.但这似乎很奇怪.A or B当A和B都是真的时也是如此.虽然它使得在第一个例子感(有可能的东西是True和False在同一时间,但我们暗含的假设不矛盾律),它并没有在第二:东西可以是一个PrefixedName或UnprefixedName它可以不是两个.
那为什么经常这样呢?为什么不使用独家或?有任何非常规原因吗?
我目前正在尝试理解排序算法,并一直在寻找伪代码并将其转换为python(使用python 3.6,IDE是Spyder 3.1.2).我写了一个简单的冒泡排序:
def BubbleSort(array_to_sort):
n = len(array_to_sort) - 1
swapped = True
while (swapped):
swapped = False
for i in range(n):
if array_to_sort[i] > array_to_sort[i+1]:
array_to_sort[i+1], array_to_sort[i] = array_to_sort[i], array_to_sort[i+1]
swapped = True
return array_to_sort
Run Code Online (Sandbox Code Playgroud)
一个简单的选择排序:
def SelectionSort(array_to_sort):
n = len(array_to_sort)
for i in range(n):
minPos = i
for j in range(i+1, n):
if array_to_sort[j] < array_to_sort[minPos]:
minPos=j
if minPos != i:
array_to_sort[i], array_to_sort[minPos] = array_to_sort[minPos], array_to_sort[i]
return array_to_sort
Run Code Online (Sandbox Code Playgroud)
我试图像他们这样计时:
def main():
array = RandomNumberArray()
a = timeit.Timer(functools.partial(BubbleSort, array)) …Run Code Online (Sandbox Code Playgroud)