-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathkaprekarSayisi.java
69 lines (37 loc) · 1.74 KB
/
kaprekarSayisi.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package projeler2;
import java.util.Scanner;
public class kaprekarSayisi {
public static void main(String[] args) {
/*
SORU 21: (GUZEL VE ZOR SORU)
KAPREKAR SAYISI
BİR SAYINI KARESİ ALINIR KARESİ İKİYE AYRILIR VE SAĞ TARAF İLE SOL TARAFIN TOPLAMI SAYIYA EŞİT İSE BU SAYI KAPREKAR SAYISIDIR.
ORNEK :
45 SAYISI
45² = 2025
20 + 25 = 45
NOT: 3 BASAMAKLI VE 4 BASAMKLI SAYILARIN KARELERİ ORNEGIN 2223 UN KARESİ 4,941,729 CIKIYOR BURDA SAYININ UZUNLUGU KADAR SOLDAN GERİSİNİ SAGDAN ALACAĞIZ
YANİ SOL TARAF 1729 İKEN SAĞ TARAF 494 OLACAK VE İKİSİNİN TOPLAMI 1729 + 494 = 2223 OLUP KAPREKAR SAYISI OLACAKTIR
*/
Scanner input = new Scanner(System.in);
System.out.print("sayi giriniz : ");
int sayi = input.nextInt();
int sayikaresi = sayi * sayi;
String stringKare = Integer.toString(sayikaresi);
double uzunluk = stringKare.length();
double solUzunluk = Math.ceil(uzunluk/2);
/*System.out.println("sol uzunluk "+solUzunluk);
System.out.println("sag uzunluk "+ sagUzunluk);
System.out.println("sol uzunluk 10 : "+Math.pow(10, solUzunluk-1));*/
double solTaraf = sayikaresi % Math.pow(10, solUzunluk);
double sagTaraf = sayikaresi / Math.pow(10, solUzunluk);
System.out.println();
if (sayi ==Math.round( sagTaraf+solTaraf)) {
System.out.println(sayi+" SAYISI KAPREKAR SAYISIDIR.");
}
else {
System.out.println(sayi+" SAYISI KAPREKAR SAYISI DEGILDIR.");
}
System.out.printf("\n\nSAG TARAF :%.0f \nSOL TARAF :%.0f ",sagTaraf,solTaraf);
}
}