Assignment-3

Write a program to check whether a no. is Smith no. or not. Source Code: import java.io.*; class smithnumber { int sn,csn1,i,s1,s2,csn2,j; int d [] = new int [30]; int B [] = new int [30]; smithnumber(int x) { sn=x; csn1=x; csn2=x; i=0; s1=0; s2=0; j=0; } void getdigits(int sn) { while(sn!=0) { d[i]=(sn%10); i++; sn=sn/10; } i=i-1; for(int i2=0;i2<=i;i2++) { s1=s1+d[i2]; } } void getfactors(int csn1) { for(int i1=2;i1<=csn1-1;) { if(csn1%i1==0) { csn1=csn1/i1; B[j]=i1; j++; } else i1++; } B[j]=csn1; } void check() { getdigits(sn); getfactors(csn1); if(B[j]/10>0) { int h=B[j]; B[j]=B[j]%10; h=h/10; j=j+1; B[j]=h; } for(int v=0;v<=j;v++) { s2=s2+B[v]; } for(int u=0;u<=j;u++) { System.out.println(" "+B[u]); } } void display() { if(s1==s2) System.out.println("Smith NUmber"); else System.out.println("not Smith number"); } } ************MAIN CLASS************* class main { public static void main(String ars[])throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter a number:"); int x=Integer.parseInt(br.readLine()); smithnumber ob=new smithnumber(x); ob.check(); ob.display(); } } OUTPUT: D:\java>javac assignment3.java D:\java>java main Enter a number: 347 not Smith number D:\java>java main Enter a number: 121 not Smith number D:\java>java main Enter a number: 666 Smith NUmber

Share:

0 comments