Code to multiply the 20000 digits with 20000 digits ..and the get the answer :)
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class multiply extends JFrame implements ActionListener
{
JTextField jt,jt1;
JButton jb;
int y=0;
JTextArea ja;int r=0;int xx=0;int yy2=0;int yy3=0;
multiply()
{
jt=new JTextField("",20000);
jt1=new JTextField("",20000);
jb=new JButton("multiply");
jb.addActionListener(this);
Font ff=new Font("serif",Font.BOLD,23);
ja=new JTextArea();
ja.setBackground(Color.red);
jt.setBackground(Color.pink);
jt1.setBackground(Color.pink);
jt.setFont(ff);
jt1.setFont(ff);
ja.setFont(ff);
JPanel jp=new JPanel();
JLabel jl=new JLabel("feel free of any length multiplication::>");
jl.setBackground(Color.red);
jp.add(jl);
jp.add(jt);
jp.add(jt1);
jl.setFont(ff);
ja.setLineWrap(true);
GridLayout gl=new GridLayout(3,1);
jp.setLayout(gl);
add(jb,BorderLayout.SOUTH);
add(ja);
add(jp,BorderLayout.NORTH);
setSize(440,440);
setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{ String s11=jt.getText();
String s22=jt1.getText();
int len1=s11.length();
System.out.println(len1);
int len=s11.length()+s22.length();
int len2=s11.length()+s22.length()-1;
int len3=s22.length();
String s[][]=new String[len][len];
String sf[]=new String[len+1];
int yy=len2;
for(int i=0;i<len1;i++)
{
for(int j=0;j<len;j++)
{
s[i][j]="0";
}
}
System.out.println(len1);
for(int i=len3-1;i>=0;i--)
{
char m=s22.charAt(i);
int y1=0;
String ss=s22.valueOf(m);
int m1=Integer.parseInt(ss);
int r=len1-1;
for(int j=yy;j>=0;j--)
{
char n=s11.charAt(r);
String ss1=s11.valueOf(n);
int n1=Integer.parseInt(ss1);
int m1n1=m1*n1;
m1n1=m1n1+y1;
if(m1n1>9)
{
y=m1n1%10;
y1=m1n1/10;
String s1=ss.valueOf(y);
s[i][j]=s1;
}
else
{
String s2=ss.valueOf(m1n1);
s[i][j]=s2;
}
m1n1=0;
if(r==0)
{ j--;
String yy1=s11.valueOf(y1);
s[i][j]=yy1;
j=0;
}
else
r--;
}
yy--;
}
System.out.println(len1);
yy=len2;
/* for(int i=len1-1;i>=0;i--)
{
for(int j=0;j<=yy;j++)
{
System.out.print(s[i][j]);
}
System.out.println();
}*/
yy=len2;sf[0]="0";
for(int j=yy;j>=0;j--)
{
for(int i=len1-1;i>=0;i--)
{
int ab=Integer.parseInt(s[i][j]);
xx=xx+ab;
}
xx=xx+yy2;
yy2=0;
// System.out.println(xx);
if(xx>9)
{
yy2=xx/10;
yy3=xx%10;
String xy=s11.valueOf(yy3);
sf[j+1]=xy;
}
else
{
String xy=s11.valueOf(xx);
sf[j+1]=xy;
}
xx=0;
}
String xy=s11.valueOf(yy2);
sf[0]=xy;
for(int i=0;i<=len;i++)
{
System.out.print(sf[i]);
}String re="";
for(int i=0;i<=len;i++)
{
re=re+sf[i];
}
ja.setText("result>>"+re);
}
public static void main(String aa[])
{
multiply rax=new multiply();
}
}
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class multiply extends JFrame implements ActionListener
{
JTextField jt,jt1;
JButton jb;
int y=0;
JTextArea ja;int r=0;int xx=0;int yy2=0;int yy3=0;
multiply()
{
jt=new JTextField("",20000);
jt1=new JTextField("",20000);
jb=new JButton("multiply");
jb.addActionListener(this);
Font ff=new Font("serif",Font.BOLD,23);
ja=new JTextArea();
ja.setBackground(Color.red);
jt.setBackground(Color.pink);
jt1.setBackground(Color.pink);
jt.setFont(ff);
jt1.setFont(ff);
ja.setFont(ff);
JPanel jp=new JPanel();
JLabel jl=new JLabel("feel free of any length multiplication::>");
jl.setBackground(Color.red);
jp.add(jl);
jp.add(jt);
jp.add(jt1);
jl.setFont(ff);
ja.setLineWrap(true);
GridLayout gl=new GridLayout(3,1);
jp.setLayout(gl);
add(jb,BorderLayout.SOUTH);
add(ja);
add(jp,BorderLayout.NORTH);
setSize(440,440);
setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{ String s11=jt.getText();
String s22=jt1.getText();
int len1=s11.length();
System.out.println(len1);
int len=s11.length()+s22.length();
int len2=s11.length()+s22.length()-1;
int len3=s22.length();
String s[][]=new String[len][len];
String sf[]=new String[len+1];
int yy=len2;
for(int i=0;i<len1;i++)
{
for(int j=0;j<len;j++)
{
s[i][j]="0";
}
}
System.out.println(len1);
for(int i=len3-1;i>=0;i--)
{
char m=s22.charAt(i);
int y1=0;
String ss=s22.valueOf(m);
int m1=Integer.parseInt(ss);
int r=len1-1;
for(int j=yy;j>=0;j--)
{
char n=s11.charAt(r);
String ss1=s11.valueOf(n);
int n1=Integer.parseInt(ss1);
int m1n1=m1*n1;
m1n1=m1n1+y1;
if(m1n1>9)
{
y=m1n1%10;
y1=m1n1/10;
String s1=ss.valueOf(y);
s[i][j]=s1;
}
else
{
String s2=ss.valueOf(m1n1);
s[i][j]=s2;
}
m1n1=0;
if(r==0)
{ j--;
String yy1=s11.valueOf(y1);
s[i][j]=yy1;
j=0;
}
else
r--;
}
yy--;
}
System.out.println(len1);
yy=len2;
/* for(int i=len1-1;i>=0;i--)
{
for(int j=0;j<=yy;j++)
{
System.out.print(s[i][j]);
}
System.out.println();
}*/
yy=len2;sf[0]="0";
for(int j=yy;j>=0;j--)
{
for(int i=len1-1;i>=0;i--)
{
int ab=Integer.parseInt(s[i][j]);
xx=xx+ab;
}
xx=xx+yy2;
yy2=0;
// System.out.println(xx);
if(xx>9)
{
yy2=xx/10;
yy3=xx%10;
String xy=s11.valueOf(yy3);
sf[j+1]=xy;
}
else
{
String xy=s11.valueOf(xx);
sf[j+1]=xy;
}
xx=0;
}
String xy=s11.valueOf(yy2);
sf[0]=xy;
for(int i=0;i<=len;i++)
{
System.out.print(sf[i]);
}String re="";
for(int i=0;i<=len;i++)
{
re=re+sf[i];
}
ja.setText("result>>"+re);
}
public static void main(String aa[])
{
multiply rax=new multiply();
}
}


0 comments:
Post a Comment