- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在上一门理论 CS 课,我们刚刚讨论了停机问题。在我的理解中,问题无法解决的原因是,如果有一个程序 Halt 告诉我们一个程序是否停止了,而你写了另一个程序 Proof 这样的
function Proof (program, input)
if (Halt(program, input)) loop infinitely;
else return 1
对我来说,问题的症结在于if条件是程序无限循环,这是Halt的失败条件。
这是我不确定的部分:
假设您有一个程序来检查另一个程序是否在某个输入上返回数字 4。我们称这个程序为 FourCheck。然后,我们可以编写另一个程序 ProofFour,这样
ProofFour(program, input)
if(FourCheck(program, input) return 5;
else return 4;
在这种情况下,我们可以调用 ProofFour(ProofFour,input)。如果 FourCheck() 返回 true,则 ProofFour 返回 5,从而使 FourCheck() 的输出不正确。如果 FourCheck 返回 false,则 ProofFour 返回 4,再次使 FourCheck() 的输出不正确。
因此,假设您基本上没有程序来检查其他程序是否正确,因为您总是可以构建一个类似于 Proof() 和 ProofFour() 的程序,该程序实质上会反转您的检查程序的输出。
câu trả lời hay nhất
ProofFour(program, input)
if(FourCheck(program, input)) return 5;
else return 4;
在上面引用的程序中,您对 ProofFour(ProofFour,input)
的调用格式错误:第一个 Prooffour
没问题,因为它需要一个程序和一个input 作为它的输入,但是第二个 Prooffour
应该有两个参数。这意味着您需要为第二个 Prooffour
提供一对输入,如下所示:很难(如果不是不可能的话)解释为什么不可能创建 FourCheck()。
现在我稍微改变一下:
ProofFour(input)
if(FourCheck(ProofFour, input)) return 5;
else return 4;
这是定义明确的形式。程序中的 ProofFour 只是一个指向程序文本的指针。现在很明显,Fourcheck 无法检查 ProofFour 程序。
关于c++ - 停止 problem 是否意味着程序无法检查其他程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26621390/
Tôi có một câu lệnh if như sau if (not(fullpath.low().endswith(".pdf")) hay không (fullpath.low().endswith(tup
Tuy nhiên, trong PHP, can: chỉ xuất hiện nếu $foo là đúng. Trong Javascript, có thể.
XML có nhiều lợi ích. Nó vừa có thể đọc được bằng máy vừa có thể đọc được bằng con người, có định dạng chuẩn hóa và được sử dụng rộng rãi. Nó cũng có một số nhược điểm. Đó là cách dài dòng và không phải là cách hiệu quả để truyền lượng lớn dữ liệu. Một trong những khía cạnh hữu ích nhất của XML là ngôn ngữ lược đồ. Sử dụng chế độ này, bạn có thể
Vì tôi đã sử dụng SQL2000 được lâu nên tôi thực sự không hiểu sâu về các biểu thức bảng chung. Các câu trả lời tôi đưa ra ở đây (#4025380) và ở đây (#4018793) đi ngược lại quy trình vì chúng không sử dụng CTE. Tôi đánh giá cao họ vì đã cung cấp
Tôi có một ứng dụng: void deleteObj(id){ MyObj obj = getObjById(id); if (obj == null) { ném n
Mã của tôi là như sau. Có lẽ tôi đang sử dụng nó nhiều lần theo cách tương tự, tức là tôi đang quản lý các phiên và giao dịch theo cách này: List user= null;
Khi phát triển các ứng dụng web J2EE, tôi thường tổ chức cấu trúc gói của mình như sau com.jameselsey.. Bộ điều khiển - Bộ điều khiển/Hành động Tới đây Dịch vụ - Lớp dịch vụ giao dịch, được sử dụng bởi bộ điều khiển có tên Miền - Ứng dụng Lớp/đối tượng miền của tôi D
Điều này chỉ vì tò mò hơn bất cứ điều gì quan trọng, nhưng tôi chỉ đang thắc mắc về đoạn tài liệu sau đây từ memmove: Quá trình sao chép diễn ra như thể bộ đệm trung gian là chúng tôi
Nén đường dẫn liên quan đến việc chỉ định nút gốc là nút cha mới của mọi nút trên đường dẫn - điều này có thể hạ thấp thứ hạng của nút gốc và có thể hạ thứ hạng của tất cả các nút trên đường dẫn. Có cách nào để giải quyết vấn đề này? Có cần thiết phải giải quyết vấn đề này không? Hoặc có thể coi hạng là giới hạn trên của chiều cao của cây chứ không phải là chiều cao chính xác? Cảm ơn
Tôi có hai lớp, A và B. A là lớp cha của B, tôi có một hàm đưa con trỏ tới một lớp loại A, kiểm tra xem nó có thuộc loại B hay không và nếu có thì sẽ gọi một hàm khác đưa con trỏ tới một lớp loại B. Khi một hàm gọi một hàm khác, tôi
Có cách nào để làm cho valgrind sử dụng nhiều bộ xử lý không? Tôi đang thực hiện một số phân tích tắc nghẽn bằng cách sử dụng callgrind của valgrind và nhận thấy rằng việc sử dụng tài nguyên trong ứng dụng của tôi hoạt động khác với trong valgrind/callgrind
Giả sử chúng ta muốn sử dụng ReaderT[(a,b)] thay vì Maybe monad và sau đó chúng ta muốn tra cứu trong danh sách. Bây giờ, một cách đơn giản và không phổ biến là: khả năng đầu tiên là tìm a = ReaderT (looku
Có vẻ như có vấn đề với mã của tôi. Điều tôi cần nói là: if ( $('html').attr('lang').val() == 'fr-FR' ) { // do this } else { // do
Theo bài viết này (tháng 4 năm 2018), AKS có thể đặt Pod một cách thông minh trên các miền bị lỗi khi chạy trong nhóm khả dụng, nhưng chưa tính đến các miền cập nhật. Các miền cập nhật sẽ sớm được sử dụng để đưa nhóm vào AKS phải không? Câu trả lời hay nhất Khi bạn thiết lập cụm, nó sẽ tự động
khóa học | phần | gõ comart2 :bsit201 : lec comart2 :
Tôi đang phát triển SDK của riêng mình, SDK này dựa trên một số SDK của bên thứ 3. Ví dụ - OkHttp. Tôi có nên thêm OkHttp vào build.gradle của mình hay để người dùng SDK của tôi đưa nó vào? trong trường hợp này,
Khi Rust trở nên chín chắn hơn, sự quan tâm của tôi đối với nó bắt đầu nảy sinh. Tôi thích thực tế là nó hỗ trợ các kiểu dữ liệu đại số, đặc biệt là những kiểu dữ liệu phù hợp, nhưng bạn có ý tưởng nào cho các thành ngữ chức năng khác không? Ví dụ: có một tập hợp các hàm lọc/bản đồ/thu gọn tiêu chuẩn trong thư viện tiêu chuẩn và quan trọng hơn là bạn có thể
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Sự cố này dường như không liên quan đến việc lập trình trong phạm vi được xác định trong trung tâm trợ giúp. . Đã đóng cửa 9 năm trước. Cải thiện
Tôi đã nghiên cứu các đối tượng trong PHP. Tất cả các ví dụ tôi đã thấy thậm chí còn sử dụng các hàm tạo đối tượng trên các đối tượng của chính chúng. PHP có buộc bạn phải làm điều này không? Nếu có thì tại sao? Ví dụ: firstname = $firstname;
...hơn mảng kết hợp? Mảng kết hợp có chiếm nhiều bộ nhớ hơn không? $arr = array(1, 1, 1); $arr[10] = 1; $arr[] = 1; // <- chỉ số là 11;
Tôi là một lập trình viên xuất sắc, rất giỏi!