Algoritma soruları yazımızdaki yorumlar kısmında sorulan Klavyeden girilen sayının önce karesini alan bulduğun sonucun rakamları çarpımını ekrana yazdıran programın algoritması ve akış şeması sorusunun cevabı.
Akış şeması:
Sorunun algoritması:
Fonksiyon Ana
Yaratmak Tamsayı sayi, kare, carpim
Atama carpim = 1
Giriş sayi
Atama kare = sayi * sayi
While kare >0
Atama carpim = carpim * (kare %10)
Atama kare = kare /10
Son
Çıktı carpim
Son
Python ile yapımı:
carpim = 1
sayi = int(input())
kare = sayi * sayi
while kare > 0:
carpim = carpim * (kare % 10)
kare = float(kare) / 10
print(carpim)
C++ ile yapımı:
#include <iostream>
#include <sstream>
#include <string>
#include <cstdlib>
#include <cmath>
using namespace std;
// Headers
string toString (double);
int toInt (string);
double toDouble (string);
int main() {
int sayi, kare, carpim;
carpim = 1;
cin >> sayi;
kare = sayi * sayi;
while (kare > 0) {
carpim = carpim * (kare % 10);
kare = (int) ((double) kare / 10);
}
cout << carpim << endl;
return 0;
}
// The following implements type conversion functions.
string toString (double value) { //int also
stringstream temp;
temp << value;
return temp.str();
}
int toInt (string text) {
return atoi(text.c_str());
}
double toDouble (string text) {
return atof(text.c_str());
}
Java ile yapılması:
import java.util.*;
import java.lang.Math;
public class JavaApplication {
private static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
int sayi, kare, carpim;
carpim = 1;
sayi = input.nextInt();
kare = sayi * sayi;
while (kare > 0) {
carpim = carpim * (kare % 10);
kare = (int) ((double) kare / 10);
}
System.out.println(carpim);
}
}
C# ile yapımı:
using System;
public class MyProgram
{
public static void Main(string[] args)
{
int sayi, kare, carpim;
carpim = 1;
sayi = (int) readValue();
kare = sayi * sayi;
while (kare > 0)
{
carpim = carpim * (kare % 10);
kare = (int) ((double) kare / 10);
}
Console.WriteLine(carpim);
}
// .NET can only read single characters or entire lines from the console.
// The following function safely reads a double value.
private static double readValue()
{
double result;
while (!double.TryParse(Console.ReadLine(), out result));
return result;
}
}