Write a program in prolog to compute the factorial of a
number using iteration/tail recursion?



Write a program in prolog to compute the factorial of a number using iteration/tail recursion? ..

Answer / kapil agrawal

factorial(N, R) :- factorial(N, 1, R).
factorial(0, R, R) :- !.
factorial(N, Acc, R) :-
NewN is N - 1,
NewAcc is Acc * N,
factorial(NewN, NewAcc, R).

Is This Answer Correct ?    18 Yes 14 No

Post New Answer

More Programming Code AllOther Interview Questions

Devise a program to implement the Fibonacci sequence.

0 Answers   Tech Mahindra,


how to write test case for a text field that should be mandatory

1 Answers   PayPal,


How to get the version(major,minor,revision ) of VB6.0 delphi code .I am able to fetch dll file of vb6.0 but not vba file .Can u send me the code snippet in delphi to get the value for vb6.0.

0 Answers  


You have been asked to install a servlet engine (tomcat, glassfish, etc.) for a companies servlets. Assuming the company has an existing web/DBMS server (which may or may not be on the same server), explain in detail how would you implement the development project and a deployment solution.

0 Answers  


Main frame : I have a PS file. 4 records. I need toread a particular field of that file and then add it up. then write the added field along with all other fields

1 Answers  






Write a Program to find the reverse of a given number.

0 Answers   InterGraph,


Write code to add functions, which would work as get and put properties of a class?

0 Answers  


plzzzzzzzzz xplain this code import java.awt.*; import java.awt.event.*; import java.awt.MenuItem.*; import java.sql.*; import sun.jdbc.odbc.*; import java.io.*; public class MarkDelivery extends Frame implements ActionListener { Label l1,l2,l3,l4,l5,l6,l7; Button exit,save,next,top,prev,botm,ad; TextField txtCMemoNo,txtConsNo,txtCMemoDt,txtConsName,txtAddr1,txtBook ingNo,adr2,adr3; public static void main(String sr[]) { new MarkDelivery().setVisible(true); } public MarkDelivery() { super("Mark Delivery"); Statement stmt; ResultSet rs; //PreparedStatement pst; Connection con; try { Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:Agency"); if (con!=null); System.out.println ("connected"); stmt =con.createStatement (); } catch(Exception e1) { System.out.println (e1); } setSize(1280,800); setBackground(Color.lightGray); setLayout(null); l1=new Label("Cashmemo No"); l1.setBounds(260,60,90,30); l1.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l1.setAlignment(Label.CENTER); add(l1); l1=new Label("Booking No"); l1.setBounds(30,90,90,30); l1.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l1.setAlignment(Label.CENTER); add(l1); l2=new Label("CONSMR NO"); l2.setBounds(30,60,90,30); l2.setFont(new Font("TimesRoman",Font.PLAIN,15)); l2.setAlignment(Label.CENTER); add(l2); l3=new Label("Cashmemo Date"); l3.setBounds(520,60,130,30); l3.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l3.setAlignment(Label.CENTER); add(l3); l4=new Label("NAME"); l4.setBounds(30,150,45,30); l4.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l4.setAlignment(Label.CENTER); add(l4); l5=new Label("ADRS"); l5.setBounds(30,220,45,30); l5.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l5.setAlignment(Label.CENTER); add(l5); txtBookingNo=new TextField(); txtBookingNo.setBounds(130,90,80,30); txtBookingNo.setBackground(Color.white); add(txtBookingNo); txtCMemoNo=new TextField(); txtCMemoNo.setBounds(375,60,80,30); txtCMemoNo.setBackground(Color.white); add(txtCMemoNo); txtConsNo=new TextField(); txtConsNo.setBounds(130,60,80,30); txtConsNo.setBackground(Color.white); add(txtConsNo); txtCMemoDt=new TextField(); txtCMemoDt.setBounds(635,60,80,30); txtCMemoDt.setBackground(Color.white); add(txtCMemoDt); txtConsName=new TextField(); txtConsName.setBounds(100,150,200,30); txtConsName.setBackground(Color.white); add(txtConsName); txtAddr1=new TextField(); txtAddr1.setBounds(100,220,350,30); txtAddr1.setBackground(Color.white); add(txtAddr1); adr2=new TextField(); adr2.setBounds(100,250,350,30); adr2.setBackground(Color.white); add(adr2); adr3=new TextField(); adr3.setBounds(100,280,350,30); adr3.setBackground(Color.white); add(adr3); exit=new Button("EXIT"); exit.setBackground(Color.orange); exit.setBounds(760,700,40,40); exit.addActionListener(this); add(exit); save=new Button("SAVE"); save.setBackground(Color.orange); save.setBounds(715,700,40,40); save.addActionListener(this); add(save); next=new Button("NEXT"); next.setBackground(Color.orange); next.setBounds(90,700,40,40); next.addActionListener(this); add(next); top=new Button("TOP"); top.setBackground(Color.orange); top.setBounds(0,700,40,40); top.addActionListener(this); add(top); prev=new Button("PREV"); prev.setBackground(Color.orange); prev.setBounds(45,700,40,40); prev.addActionListener(this); add(prev); botm=new Button("BOTM"); botm.setBackground (Color.orange); botm.setBounds (135,700,40,40); botm.addActionListener (this); add(botm); ad=new Button("ADD"); ad.setBackground (Color.orange); ad.setBounds (300,700,40,40); ad.addActionListener (this); add(ad); } public void actionPerformed(ActionEvent e) { if(e.getSource()==exit) { this.dispose(); System.exit(0); } /* if(e.getSource()==save) { try { Connection con=DriverManager.getConnection("jdbc:odbc:Agency"); PreparedStatement pst=con.prepareStatement("INSERT INTO NewCon values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); pst.setInt (1,Integer.parseInt(txtConsNo.getText())); pst.setInt (2,Integer.parseInt(txtSvNo.getText())); pst.setString (3,txtSvDt.getText()); pst.setString (4,txtConsName.getText()); pst.setInt(5,Integer.parseInt (txtPhNo.getText())); pst.setString(6,txtAddr1.getText()); pst.setString(7,adr2.getText()); pst.setString(8,adr3.getText()); pst.setInt(9,Integer.parseInt (txtCylQty.getText())); pst.setInt(10,Integer.parseInt (txtCylDep.getText())); pst.setInt(11,Integer.parseInt (txtRegQty.getText())); pst.setInt(12,Integer.parseInt (txtRegDep.getText())); pst.setInt(13,Integer.parseInt (tot.getText())); pst.setInt(14,Integer.parseInt (stnry.getText())); pst.setString(15,rmrk.getText()); pst.executeUpdate (); con.close(); } catch(Exception e2) {System.out.println(e2);} //cs(txtConsName.getText (),txtAddr1.getText()); } if(e.getSource()==ad) { try { Connection con1=DriverManager.getConnection("jdbc:odbc:Agency"); Statement stmt1=con1.createStatement(); ResultSet rs1=stmt1.executeQuery("SELECT Max(Cons_No) FROM NewCon"); int nextcono = rs1.getInt ("Cons_No"); System.out.println (nextcono); nextcono=nextcono+1; txtConsNo.setText ("nextcono"); txtSvNo.setText(""); txtSvDt.setText(""); txtConsName.setText(""); txtAddr1.setText(""); txtPhNo.setText(""); txtCylQty.setText(""); txtCylDep.setText(""); txtRegDep.setText(""); txtRegQty.setText(""); adr2.setText(""); adr3.setText(""); tot.setText(""); stnry.setText(""); rmrk.setText(""); con1.close(); } catch(Exception e4){} }*/ } }

1 Answers  


Write a Program to find the number of words in a sentence.

0 Answers   InterGraph,


Could u please tell me any UNIX scripts that 'll lead to find the network latency of the servers.?or else any unix command to find the network latency of a server?Thnx in advance...

0 Answers   Cap Gemini,


i have two internal tables with customer and credit amount in one table then customer and debit amount in another table. now i need output in single list as customer, credit amount, debit amount and (credit - debit). help me please

1 Answers  


Write a program that will convert an integer pointer to an integer and vice-versa.

0 Answers  


Categories