AMcoder - javascript, python, java, html, php, sql

Պրոլոգ, սկսնակ, թվաբանություն

Ես եկել եմ թվաբանական կանոնով՝ պարզ աստղը 9-ով գնահատելու համար:

evaluate(A):-eval(A,B).
eval(A,B):- B is 9*A.

և ես ունեմ.

?- eval(3,A).
A = 27.

?- evaluate(3).
true.

բայց ես ուզում եմ արդյունք և ոչ ճիշտ: Ես նախընտրում եմ տեսնել արդյունքը, ինչպես ստորև, հնարավո՞ր է:

 ?- evaluate(3).
 3*9=27.
04.12.2013

  • Դուք կարծես կարծում եք, որ prolog-ի պրեդիկատները վերադարձնում են արժեքներ: Նրանք չեն անում: Դրանք կա՛մ ուղղակի ճշմարիտ են, կա՛մ կեղծ: Արդյունքները վերադարձնելու համար օգտագործում եք չկապված փոփոխականներ: 04.12.2013
  • Ենթադրում եմ, որ այս ծրագիրը բեռնելիս նախազգուշացում եք ստացել այն մասին, որ B-ը միանգամյա փոփոխական է evaluate կետում: Դա պայմանավորված է նրանով, որ այն տեղի է ունենում միայն մեկ անգամ: Դուք դրա համար արժեք եք ներկայացնում eval-ի միջոցով, բայց հետո չեք օգտագործում այն: @ChristopherHarris-ը պատասխանեց՝ ցույց տալով, թե ինչպես կարող եք պատասխանը գրել evaluate կետերում այն ​​ստանալուց հետո: Դա նույնպես կվերացնի զգուշացումը։ 04.12.2013

Պատասխանները:


1

Եթե ​​դուք պարզապես ցանկանում եք տեսնել արդյունքը, կարող եք տպել փոփոխականները, երբ դրանք միավորվեն, այսինքն.

evaluate(A):- eval(A,B),write(A),write('*9='),write(B),write('.'),nl.
eval(A,B):- B is 9*A.

ելքը

1 ?- evaluate(3).
3*9=27.
true.
04.12.2013
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..