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

Answer Posted / 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       View All Answers


Please Help Members By Posting Answers For Below Questions

can any body give me answer to this question please? please give me code in cl with the folling specifications. 1.Accept 2 parameters-date and date type 2.If date type is J then convert date to *MDY format 3.If date type is M convert date to *JUL format 4. Send a program message with the value of converted date? Please give me the answer.Because im practicing in my house.Im taking trining on AS/400.

1902


plzzzzzzzzz xplain this code import java.awt.*; import java.util.Date; import java.awt.event.*; import java.awt.MenuItem.*; import java.sql.*; import sun.jdbc.odbc.*; import java.io.*; public class NewConnection extends Frame implements ActionListener { Label l1,l2,l3,l4,l5,l6,l7,l8,l9,l10,l11,l12,l13; Button exit,save,bnext,top,prev,botm,ad,edit; TextField txtSvNo,txtConsNo,txtSvDt,txtConsName,txtAddr1,txtPhNo,txtCy lQty,txtCylDep,txtRegDep,txtRegQty,adr2,adr3,tot,stnry,rmrk; Date date=new Date(); String ConsName; String Addr1; public static void main(String sr[]) { new NewConnection().setVisible(true); } public NewConnection() { super("New Connection"); 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("SV NO"); l1.setBounds(260,60,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("SV DATE"); l3.setBounds(520,60,90,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); l6=new Label("PH NO"); l6.setBounds(500,150,45,30); l6.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l6.setAlignment(Label.CENTER); add(l6); l7=new Label("CYLDR"); l7.setBounds(30,390,55,30); l7.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l7.setAlignment(Label.CENTER); add(l7); l8=new Label("DEPOSIT"); l8.setBounds(320,390,65,30); l8.setFont(new Font("TimesRoman",Font.PLAIN,15)); l8.setAlignment(Label.CENTER); add(l8); l9=new Label("DEPOSIT"); l9.setBounds(320,440,65,30); l9.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l9.setAlignment(Label.CENTER); add(l9); l10=new Label("RGLTR"); l10.setBounds(30,440,55,30); l10.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l10.setAlignment(Label.CENTER); add(l10); l11=new Label("TOTAL"); l11.setBounds(320,480,55,30); l11.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l11.setAlignment(Label.CENTER); add(l11); l12=new Label("Cur.Statn.NO."); l12.setBounds(290,550,85,30); l12.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l12.setAlignment(Label.CENTER); add(l12); l13=new Label("REMARKS"); l13.setBounds (30,630,85,30); l13.setFont(new Font ("TimesRoman",Font.PLAIN,15)); l13.setAlignment (Label.CENTER); add(l13); txtSvNo=new TextField(); txtSvNo.setBounds(375,60,80,30); txtSvNo.setBackground(Color.white); add(txtSvNo); txtConsNo=new TextField(); txtConsNo.setBounds(130,60,80,30); txtConsNo.setBackground(Color.white); add(txtConsNo); txtSvDt=new TextField(); txtSvDt.setBounds(635,60,80,30); txtSvDt.setBackground(Color.white); add(txtSvDt); 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); txtPhNo=new TextField(); txtPhNo.setBounds(570,150,150,30); txtPhNo.setBackground(Color.white); add(txtPhNo); txtCylQty=new TextField(); txtCylQty.setBounds(100,390,60,30); txtCylQty.setBackground(Color.white); add(txtCylQty); txtCylDep=new TextField(); txtCylDep.setBounds(410,390,60,30); txtCylDep.setBackground(Color.white); add(txtCylDep); txtRegDep=new TextField(); txtRegDep.setBounds(410,440,60,30); txtRegDep.setBackground(Color.white); add(txtRegDep); txtRegQty=new TextField(); txtRegQty.setBounds(100,440,60,30); txtRegQty.setBackground(Color.white); add(txtRegQty); tot=new TextField(); tot.setBounds(410,490,60,30); tot.setBackground(Color.white); add(tot); stnry=new TextField(); stnry.setBounds(410,550,60,30); stnry.setBackground(Color.white); add(stnry); rmrk=new TextField(); rmrk.setBounds(140,630,600,30); rmrk.setBackground(Color.white); add(rmrk); 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); bnext=new Button("NEXT"); bnext.setBackground(Color.orange); bnext.setBounds(90,700,40,40); bnext.addActionListener(this); add(bnext); 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); edit=new Button("EDIT"); edit.setBackground (Color.orange); edit.setBounds (345,700,40,40); edit.addActionListener (this); add(edit); } 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);} } if(e.getSource()==ad) { int newcono=60000,newsvno=10000; System.out.println("entered if body"); try { System.out.println("entered the try:"); Connection con1=DriverManager.getConnection("jdbc:odbc:Agency"); Statement stmt1=con1.createStatement(); ResultSet rs1=stmt1.executeQuery("SELECT Cons_No,Sv_No FROM NewCon "); while(rs1.next()) { //System.out.println(rs1.getInt("Cons_No")); txtConsNo.setText(""+rs1.getInt(1)); txtSvNo.setText(""+rs1.getInt(2)); //newcono=rs1.getInt("Cons_No"); } //rs1.last(); newcono=Integer.parseInt(txtConsNo.getText ()); newsvno=Integer.parseInt(txtSvNo.getText ()); //newcono=rs1.getInt("Cons_No"); System.out.println(newcono); newcono=newcono+1; newsvno=newsvno+1; txtConsNo.setText (""+newcono); txtSvNo.setText(""+newsvno); txtSvDt.setText(""+ date); 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){System.out.println (e4);} } if(e.getSource()==bnext) { try{ Connection con2=DriverManager.getConnection ("jdbc:odbc:Agency"); Statement stmt2=con2.createStatement (); ResultSet rs2=stmt2.executeQuery("SELECT * FROM NewCon "); rs2.next(); { txtConsNo.setText(rs2.getInt(1)+""); txtSvNo.setText (rs2.getInt(2)+""); txtSvDt.setText (rs2.getString(3)+""); txtConsName.setText (rs2.getString(4)+""); txtPhNo.setText (rs2.getInt(5)+""); txtAddr1.setText(rs2.getString(6)+""); adr2.setText (rs2.getString("Address2")+""); adr3.setText (rs2.getString("Address3")+""); txtCylQty.setText (rs2.getInt(9)+""); txtCylDep.setText (rs2.getInt(10)+""); txtRegDep.setText (rs2.getInt(11)+""); txtRegQty.setText (rs2.getInt(12)+""); tot.setText(rs2.getInt (13)+""); stnry.setText(rs2.getInt(14) +""); rmrk.setText(rs2.getString (15)+""); } } catch(Exception e5){} } } }

1672


Write a Program to find the sum of digits of a given number until the sum becomes a single digit.

513


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.

2121


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...

1697






plzzzzzzzzz xplain this code import java.awt.*; import java.awt.event.*; //import java.awt.MenuItem.*; public class MenuForm extends Frame implements ActionListener { MenuBar mb=new MenuBar(); Menu m1=new Menu("Master"); Menu m2 =new Menu("Transactions"); Menu m3=new Menu("Queries"); Menu m4=new Menu("Reports"); Menu m5=new Menu("Daily/Weekly"); Menu m6=new Menu("Housekeeping"); Menu m7=new Menu("About"); Menu m8=new Menu("Utilities/Tools"); Menu m9=new Menu("exit"); MenuItem m11=new MenuItem("consumer master"); MenuItem m12=new MenuItem(""); MenuItem m13=new MenuItem(""); MenuItem m21=new MenuItem("New Connection"); MenuItem m22=new MenuItem("Refill Booking"); MenuItem m23=new MenuItem("Shop Delivery"); MenuItem m51=new MenuItem("Mrk Dlry"); MenuItem m91=new MenuItem("Quit"); /*MenuItem m131=new MenuItem(" "); MenuItem m132=new MenuItem(" "); MenuItem m134=new MenuItem(" ");*/ Font f=new Font("TimesRoman",Font.BOLD,16); Frame f1; public static void main(String args[]) { new MenuForm().setVisible(true); } public MenuForm() { super("Gas Agency Main Menu"); setSize(1280,800); setBackground(Color.lightGray); setLayout(null); setMenuBar(mb); /*m1.setFont(new Font("TimesRoman", Font.BOLD,16)); m2.setFont(new Font("TimesRoman", Font.BOLD,16)); m3.setFont(new Font("TimesRoman", Font.BOLD,16));*/ mb.add(m1); mb.add(m2); mb.add(m3); mb.add(m4); mb.add(m5); mb.add(m6); mb.add(m7); mb.add(m8); mb.add(m9); m1.add(m11); m1.add(m12); m1.add(m13); m2.add(m21); m2.add(m22); m2.add(m23); m5.add(m51); m9.add(m91); //m3.add(m31); /*m13.setEnabled(false); m13.add(m131); m13.add(m132); m13.add(m133); m13.add(m134); m13.add(m135);*/ setVisible(true); /*m11.addActionListener(this); m12.addActionListener(this); m13.addActionListener(this); m2.addActionListener(this); m3.addActionListener(this);*/ m21.addActionListener(this); m22.addActionListener(this); m23.addActionListener(this); /*m31.addActionListener(this); m131.addActionListener(this); m132.addActionListener(this); m133.addActionListener(this); m134.addActionListener(this); m135.addActionListener(this);*/ m51.addActionListener(this); m91.addActionListener(this); } public void actionPerformed(ActionEvent e) { /*if(e.getSource()==m11) { } if(e.getSource()==m12) { } if( (e.getSource()==m131) || (e.getSource() ==m132) || (e.getSource()==m133) || (e.getSource()==m134) || (e.getSource()==m135) ) { }*/ if(e.getSource()==m21) { NewConnection nc=new NewConnection (); nc.setVisible(true); this.dispose(); } if(e.getSource()==m22) { RefillBooking rb=new RefillBooking (); rb.setVisible(true); this.dispose(); } if(e.getSource()==m23) { ShopDelivery sd=new ShopDelivery(); sd.setVisible(true); this.dispose(); } if(e.getSource()==m51) { MarkDelivery mrk=new MarkDelivery(); mrk.setVisible (true); this.dispose(); } if(e.getSource()==m91) { this.dispose(); System.exit(0); } } }

1659


1.Why does only one copy of a servlet object get created? What happens if you want to remove an old servlet object currently running but do not want to stop the entire servlet engine? 2.How does one servlet object deal with interactions from many browser? (e.g. if your servlet ran an email site, how can it keep track of hundreds of users logging in, reading their mail, etc.)

2376


plzzzzzzzzz xplain this code import java.awt.*; import java.awt.event.*; public class Link extends Frame implements ActionListener { Label l1; Button b1; public static void main(String sr[]) { new Link().setVisible(true); } public Link() { super("Warning"); setSize(500,500); setBackground(Color.lightGray); setLayout(null); l1=new Label("There is no Link"); l1.setBounds(0,0,500,460); l1.setFont(new Font("TimesRoman",Font.BOLD,35)); l1.setAlignment(Label.CENTER); add(l1); b1=new Button("QUIT"); b1.setBackground(Color.orange); b1.setBounds(0,460,500,40); b1.addActionListener(this); add(b1); } public void actionPerformed(ActionEvent e) { this.dispose(); } }

1578


Write a program that implements a date class containing day, month and year as data members. Implement assignment operator and copy constructor in this class.

534


Devise a program to implement the Fibonacci sequence.

530


Write a program to Print the Pascal triangle

518


How can you print an address of a variable?

503


can any one give me code to keyed a flat file and used chain in RPGLE to search any item

1702


import java.awt.*; import java.awt.event.*; public class Agency extends Frame implements ActionListener { Label l1,l2,l3,l4; Button b1; TextField t1,t2; String s1,s2,s3,s4; public static void main(String args[]) { new Agency().setVisible(true); } public Agency() { super("Gas Agency Package"); setSize(1280,800); setBackground(Color.lightGray); setLayout(null); // setLayout(new BorderLayout()); t1=new TextField(20); t1.setBounds(440,150,200,30); t1.setBackground(Color.white); t2=new TextField(20); t2.setBounds(440,180,200,30); t2.setBackground(Color.white); t2.setEchoChar('*'); l1=new Label("Gas Agency Package"); l1.setBounds(400,30,300,50); l1.setFont(new Font("TimesRoman",Font.BOLD,25)); l1.setAlignment(Label.CENTER); l2=new Label("Enter your ID and Passoword"); l2.setFont(new Font("TimesRoman",Font.BOLD,20)); l2.setBounds(270,80,300,50); l3=new Label("Enter ID"); l2.setFont(new Font ("TimesRoman",Font.BOLD,20)); l3.setBounds(270,150,120,50); l4=new Label("Enter Passoword"); l2.setFont(new Font ("TimesRoman",Font.BOLD,20)); l4.setBounds(270,180,140,50); add(l1); add(l2); add(l3); add(t1); add(l4); add(t2); b1=new Button("Login"); b1.setBackground(Color.white); b1.setBounds(400,280,100,70); b1.addActionListener(this); add(b1); } public void actionPerformed(ActionEvent e) { if(e.getSource()==b1) { s3="svce"; s4="svce"; s1=t1.getText(); s2=t2.getText(); if(s1.equals(s3) && s2.equals(s4)) { //System.out.println("password is correct"); MenuForm m= new MenuForm(); m.setVisible(true); //this.dispose(); } else { System.out.println("password not correct"); } this.dispose(); } } } plzzzzzzz xplain me this java code like why i m including this packages n the whole code plzzzzzz

1958


Design a timer circuit using VHDL which has the following: input : start_timer(ST) output: long_time(LT) short_time(ST) when the timer is triggered by the ST(either 0 or 1) signal the timer should generate two timing signals accordingly.While the long time is going ON the other should be OFF and vice versa.

2094