2022 TYT matematik sorularının çözümünü programlama mantığıyla çözmeye başlayalım. Böylece hem matematik hem de programlama bilgimiz artacaktır. Sorunun çözümünü bilgisayara anlatmak için çözüme ait tüm aşamaları bilmemiz gerekir. Lafı uzatmadan soruyu verelim.

Mine'nin tahtadan sildiği sayının ya tabanının ya da kuvvetinin 3'e eşit olduğunu biliyoruz. Bu, silinen sayının taban ya da kuvvetinde 3 olmadığını gösterir.
Kalan dört sayıya bakalım:
8 = 23
9 = 32
64 = 43
81 = 34
Bu sayıların her birinde ya taban ya da kuvvet 3'e eşittir. Halbuki 36 = 62 sayısında taban ya da kuvvetinde 3 sayısı bulunmamaktadır. Bu nedenle, Mine'nin tahtadan sildiği sayı 36'dır. Cevap C şıkkıdır.
Sorunun kodlamasını yapalım.
activity_main sayfasını düzenleyelim.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/resultTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sonuç burada görünecek"
android:textSize="18sp"
android:layout_gravity="center"/>
</LinearLayout>
MainActivity sayfasını düzenleyelim.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int[] numbers = {8, 9, 36, 64, 81};
Map<Integer, int[]> powers = new HashMap<>();
powers.put(8, new int[]{2, 3});
powers.put(9, new int[]{3, 2});
powers.put(36, new int[]{6, 2});
powers.put(64, new int[]{4, 3});
powers.put(81, new int[]{3, 4});
int removedNumber = -1;
for (int number : numbers) {
if (checkCondition(numbers, number, powers)) {
removedNumber = number;
break;
}
}
TextView resultTextView = findViewById(R.id.resultTextView);
resultTextView.setText("Mine'nin tahtadan sildiği sayı: "
+ removedNumber);
}
private boolean checkCondition(int[] numbers, int excludeNumber,
Map<Integer, int[]> powers) {
for (int number : numbers) {
if (number == excludeNumber) continue;
int[] baseAndExponent = powers.get(number);
int base = baseAndExponent[0];
int exponent = baseAndExponent[1];
if (base != 3 && exponent != 3) {
return false;
}
}
return true;
}
Ali, tahtaya yazdığı aşağıdaki beş sayıdan her birini üslü sayı olarak ifade ediyor.
4,16,27,32,81
Ali, bu sayılardan birini tahtadan sildikten sonra kalan dört sayının her birinin ya tabanının ya da kuvvetinin 2 sayısına eşit olduğunu görüyor.
Buna göre, Ali’nin tahtadan sildiği sayı kaçtır?
A) 4 B) 16 C) 27 D) 32 E) 81