Web sitemize hoşgeldiniz, 23 Mayıs 2017

Java Smith Sayısı

Java Smith Sayısı
Lütfen, Yazımızı Değerlendirin ve Yorum Yapın...
1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (105 votes, average: 4,96 out of 5)
Loading...

Girilen bir sayının java smith sayısı olup olmadığını test eden işlemi yapacağız bugün. 1’den büyük asal olmayan bir tam sayının rakamları toplamı, asal çarpanlarına ayrılmış en ilkel hali ile oluşan asal çarpanın rakamları toplamı ile eşit ise bu smith sayısıdır. Aşağıda ki kodları inceleyerek nasıl yapıldığını öğrenebilirsiniz.

import java.util.Scanner;


public class SmithSayisi {
private static Scanner scr;
int basamakAyirTopla(int sayi){
int sayiBasamaklariToplami = 0;
while(sayi>0){
 sayiBasamaklariToplami+=sayi%10;
 sayi/=10;
}
return sayiBasamaklariToplami;
}
int asalAyirTopla(int sayi){
int asalBasamakToplami=0;

 for(int i=2;i<=sayi;i++){
 int a=0;
  for(int j=2;j<i;j++){
  if(i/j==0){
  a=1;
  }
  }
  if(a==0)
   if(sayi%i==0){

  asalBasamakToplami+=i;
  sayi/=i;
  i--;
  }
  asalBasamakToplami=basamakAyirTopla(asalBasamakToplami);
//  System.out.println(  asalCarpanBasamakToplami);
  }


   

return asalBasamakToplami;
}
boolean asalmi(int sayi){
 for(int i=2;i<sayi;i++){
  if(sayi%i==0) return false;
 }
 
 return true;
}
boolean sayiSmithmi(int sayi){
if((asalAyirTopla(sayi) == basamakAyirTopla(sayi)) && !asalmi(sayi))
 //ASAL OLAN SAYILAR SMİTH SAYISI DEGİLDİR
return true;
return false;
}


/*
@author ikbal
 */
public static void main(String[] args) {
SmithSayisi ss=new SmithSayisi();
scr = new Scanner(System.in);
System.out.print("Smith kontrolü için sayi giriniz: ");
int sayi=scr.nextInt();
if(ss.sayiSmithmi(sayi) == true)
System.out.println(sayi +" sayısı smith sayisidir..");
else
System.out.println(sayi +" sayısı smith sayısı DEĞİLDİR..");
}

}
BU KONUYU SOSYAL MEDYA HESAPLARINDA PAYLAŞ

Yorumlar

Henüz yorum yapılmamış.

Yorum Yaz