我需要证明语言L(EVEN) = { M : |L(M)| is even }是不可决定的。
换句话说,语言L(EVEN)是所有图灵机的集合,这些图灵机接受某种偶数语言。
这里,M是某个图灵机的编码,如果存在L(EVEN)的决策器,它将作为输入传入。
我已经用图灵约简完成了类似于这个问题的其他问题,这里可以看到一个例子:
我的问题是,我无法想出一些以前被证明是无法决定的语言,这些语言对展示L <= L(EVEN)是有用的。
到目前为止,我们在课堂上介绍的不可判定的语言如下:
- L(emptyset) = { M | M is a TM and |L(M)| = emptyse
我试图解决在HackerRank上发布的简单问题。
我解决了这个问题,但是对于那些输入数组大小为100000的人来说,它获得了超时错误。有人能帮我优化下面的代码吗?这样它就不会超时了。
public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print outputto STDOUT. Your class should be named Solution. */
Scanner in = new Scanner(System.in);
我很确定我可以证明,原则上,Predicate类型构造函数是一个ContraMonad,是Monad的泛化,其中的函数是逆变量,但我不确定它将如何实现。
首先,让我们定义一些术语:
class Contravariant f where
contramap :: (b -> a) -> f a -> f b
class ContraMonad m where
return :: a -> m a
join :: m(m a) -> m a
contrabind :: m a -> (m b -> a) -> m
我试图写一个正确的线性上下文无关文法,其中0和1的数之间的差应该是偶数。例如:
010001 = 4 - 2 = 2 (even)
我有一个。也许能帮上忙!我想把它写在prolog上。我做了另外10项练习,但这对我来说太难了。对怎么做有什么想法吗?
我的代码
s --> [].
s --> [1],a.
s --> [0],b.
a --> [1],s.
a --> [0],c.
b --> [1],c.
b --> [0],s.
c --> [].
c --> [1],b.
c --> [0],a.
这在很多情况下都是可行的,
DOS segment
.model small
.stack 100h
.data
array1 dw 1,4,6,3,7 ; since division 8 bit divisor require 16 bit dividend
.code
main proc
mov ax,@data
mov ds,ax
lea si,array1
mov cx,5
l1:
mov ax,[si]
mov bl,2
div bl
cmp ah,0
jne odd **if the remainder is not 0 means even**
因此,我在下面的数据类型中进行了这个练习
data Nat = Zero | Succ Nat deriving (Eq,Ord,Show,Read)
这可以用来表示一个自然数,例如2= Succ (Succ Zero)。我实现了一个检查数字是否为偶数的函数。
even :: Nat -> Bool
even x = count x `mod` 2 == 0
count :: Nat -> Int
count Zero = 0
count (Succ x) = 1 + count x
它对Zero很好,但是每当我尝试不同的东西时,比如count Succ Zero或count S
我有这样的代码:
def mrdot2(v):
for x in v:
if x % 2 == 0:
print("Even")
elif x % 2 == 1:
print("Odd")
mrdot2([2,4,6,23,68,5,3,2.4,29,4877.5423,8139,48.3,89.5,10.3,-7,-8])
一切照常工作(用偶数打印“偶数”,用奇数打印“奇数”),但不能打印小数(它什么也不打印)。如果数字以0、2、4、6或8结束,它应该输出"Even“,如果数字以1、3、5、7或9结束,则输
当我尝试在我的代码中使用node-gcm时,我得到了这个错误。我已经按照标准方法的要求(‘node-gcm’)包含了它。
var message = new gcm.Message();
^
TypeError: gcm.Message is not a function
at Object.<anonymous> (/home/parashar/Downloads/opentsdb.js:13:15)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (modu
有必要计算段上有多少回文号。
function f(n) {
let res = 10 ** (parseInt(n / 2) + n % 2);
return res - res / 10;
}
function countPalindromes(n) {
let count = 0;
for (let i = 1; i <= n; i++) {
count += f(i);
}
return count;
}
for (let i = 1; i < 100; i++) {
console.log(i,
我正在编写一个简单的java和bash程序,但它不起作用。告诉我哪里出了问题。
巴什:
for i in [1..100]; do
echo $i
java prob2 $i
done
爪哇:
import java.io.*;
public class prob2
{
public static void main( String[] args )
{
int l = args.length;
if ( l == 1 )
{
参加关于python的在线课程和作业是为了打破循环,使函数正常工作。当我能够解决这个问题时,我不明白为什么函数返回(并且应该是) "True“的数字8。
你能解释一下吗?
def is_power_of_two(n):
while n % 2 == 0 and n != 0:
n = n / 2
if n == 1:
return True
return False
print(is_power_of_two(0)) # False
print(is_power_of_two(1)) # True
print(is_power_of_two(8)) # T