Soru
Programcıya bir sayı (sayi) verilmektedir. Bu noktada programcıdan, verilen sayıya kadar süren;
-Her 3 ve 3 sayısının katlarında Tuz, -Her 5 ve 5 sayısının katlarında Buz, -Her 5 ve 3 sayılarının katlarında (15 ve katları) Tuz Buz, -Bu sayılar haricinde kalanlarda ise sadece döngüdeki sayının yazdırılması istenmektedir.
Örnek
Girdi | Çıktı |
---|---|
sayi: 16 | sifrelenmisMetin: 1 2 Tuz 4 Buz Tuz 7 8 Tuz Buz 11 Tuz 13 14 Tuz Buz 16 |
Çözüm - C#
using System;
internal class Program
{
private static void Main(string[] args)
{
// Değişkenler
string tuz = "Tuz", buz = "Buz";
// Hangi sayıya kadar tekrarlanacak
int sayi = 16;
for (int i = 1; i <= sayi; i++)
{
// 5 ve 3 sayılarına aynı anda bölünürse ikisini yaz
if ((i % 3 == 0) & (i % 5 == 0))
Console.WriteLine(tuz + " " + buz);
// Sadece 3'e bölünürse Tuz yaz
else if (i % 3 == 0)
Console.WriteLine(tuz);
// Sadece 5'e bölünürse Buz yaz
else if (i % 5 == 0)
Console.WriteLine(buz);
// Hiçbir bölünen yoksa sayaçtaki sayıyı yaz
else
Console.WriteLine(i);
}
Console.Read();
}
}
Çözüm - Java
public class Main {
public static void main(String[] args) {
// Değişkenler
String tuz = "Tuz", buz = "Buz";
// Hangi sayıya kadar tekrarlanacak
int sayi = 16;
for (int i = 1; i <= sayi; i++) {
// 5 ve 3 sayılarına aynı anda bölünürse ikisini yaz
if ((i % 3 == 0) & (i % 5 == 0))
System.out.println(tuz + " " + buz);
// Sadece 3'e bölünürse Tuz yaz
else if (i % 3 == 0)
System.out.println(tuz);
// Sadece 5'e bölünürse Buz yaz
else if (i % 5 == 0)
System.out.println(buz);
// Hiçbir bölünen yoksa sayaçtaki sayıyı yaz
else
System.out.println(i);
}
}
}