Bir tam sayının çarpma işlemi olmadan faktöriyel algoritması

gokseldede93

Öğrenci
Katılım
1 Nisan 2009
Mesajlar
13
Reaksiyon puanı
0
Puanları
1
Arkadaşlar acil bi yardıma ihtiyacım var. Sorum Klavyeden girilen bir tam sayının çarpma işlemi olmadan faktöriyel algoritmasını bulunuz. Lütfen acil yardım eder misiniz???...
 

Janmark

Doçent
Katılım
22 Temmuz 2011
Mesajlar
915
Reaksiyon puanı
2
Puanları
218
klavyeden girilen sayının 0'a kadar 1 er 1 er eksiltip eksilttiğin sayı kadarda döngü yapıp hepsini birbiriyle toplaman lazım
 

gokseldede93

Öğrenci
Katılım
1 Nisan 2009
Mesajlar
13
Reaksiyon puanı
0
Puanları
1
sırayla başla sayı gibi yazman mümkün mü acaba tam anlamadım....
 
Katılım
31 Aralık 2007
Mesajlar
17,485
Reaksiyon puanı
189
Puanları
243
O değil de şöyle saçma sapan algoritmaları çok mu arıyolar ben onu merak ettim :D
 

gokseldede93

Öğrenci
Katılım
1 Nisan 2009
Mesajlar
13
Reaksiyon puanı
0
Puanları
1
Bulan manyaklar var işte bizde çözmeye(anlamaya) çalışıyoz :D
 

hbektas

Öğrenci
Katılım
7 Eylül 2012
Mesajlar
21
Reaksiyon puanı
0
Puanları
0
VB.net kodları şöyle. Algoritma kurmak temeli ama beyinden kuruyorum metne dökemyiorum :)

Dim sayi, as integer
Dim faktöriel as integer = 0
Dim i as integer
for i= sayi to 1 step -1
faktöriel = faktöriel + i
next
msgbox(faktöriel.tostring())


Sayi değişkenini bi textbox tan alabilirsin yada kendin manuel olarak verebilrisin.
 

Janmark

Doçent
Katılım
22 Temmuz 2011
Mesajlar
915
Reaksiyon puanı
2
Puanları
218
VB.net kodları şöyle. Algoritma kurmak temeli ama beyinden kuruyorum metne dökemyiorum :)

Dim sayi, as integer
Dim faktöriel as integer = 0
Dim i as integer
for i= sayi to 1 step -1
faktöriel = faktöriel + i
next
msgbox(faktöriel.tostring())


Sayi değişkenini bi textbox tan alabilirsin yada kendin manuel olarak verebilrisin.

Sence çalışıyormu böyle :)
 

tambjk

Profesör
Katılım
10 Mayıs 2011
Mesajlar
3,263
Reaksiyon puanı
16
Puanları
218
Java için şöyle birşey;

public class Main {

public static void main(String[] args) {
int sayi = 5;
System.out.println(factoriel(sayi));
}

public static int factoriel(int fact){

if (fact <= 1) {
return 1;
}else{
return carp(fact, factoriel(fact - 1));
}
}
public static int carp(int x, int y){
int carpim = 0;
for(int i = 0 ;i<x;i++){
carpim +=y;
}
return carpim;
}


}
 

Hello Kitty.

Müdavim
Müdavim
Katılım
14 Ağustos 2008
Mesajlar
12,240
Reaksiyon puanı
104
Puanları
3,243
Algoritmadan geçtim çarpma olmadan faktöryel nasıl bulanacak yaa :D
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
Vbasic olarak sanırım şu
Kod:
Module Module1

    Sub Main()
        Console.WriteLine(CalculateFactorial(5))
        Console.ReadKey()
    End Sub

    Public Function CalculateFactorial(ByRef value As Integer) As Integer
        Dim A As Integer = 0
        Dim C As Integer = 0

        C = 1
        For ii As Integer = 2 To value
            A = C
            For i As Integer = 1 To ii - 1
                A = A + C
            Next
            C = A
        Next
        Return C
    End Function
End Module
 

Janmark

Doçent
Katılım
22 Temmuz 2011
Mesajlar
915
Reaksiyon puanı
2
Puanları
218
Arkadaşlar acil bi yardıma ihtiyacım var. Sorum Klavyeden girilen bir tam sayının çarpma işlemi olmadan faktöriyel algoritmasını bulunuz. Lütfen acil yardım eder misiniz???...

int gelen_s,sonuc=0,islem_b;

gelen_s = Convert.ToInt32(textBox1.Text);


islem_b = gelen_s - 2;


for (int i=islem_b ; i > 0; i--)
{


for (int j = i+1; j > 0; j--)
{
sonuc+= gelen_s;
}
gelen_s = sonuc;
sonuc = 0;
}

Bu şekilde çalışıyor.
 

hbektas

Öğrenci
Katılım
7 Eylül 2012
Mesajlar
21
Reaksiyon puanı
0
Puanları
0
Faktörielin ne olduğunu biliyorsun dimi :)


faktöriel = faktöriel + i

kısmını

faktöriel = faktöriel * i

yaparsan bu kadar sıkıntıya girmene gerek kalmaz...

Sizingibi doçent birkişi böyle mantık hatalarına takılıyorsa bosuna okadar formda mesaj yazmıs derim ben. kodlamada hata varsa affola ;) (+) yerine (*) olmalıydı diyeydin aşşağılamadan, ama karakter meselesi deilmi haklısın ;) İyi günler
 

Janmark

Doçent
Katılım
22 Temmuz 2011
Mesajlar
915
Reaksiyon puanı
2
Puanları
218
faktöriel = faktöriel + i

kısmını

faktöriel = faktöriel * i

yaparsan bu kadar sıkıntıya girmene gerek kalmaz...

Sizingibi doçent birkişi böyle mantık hatalarına takılıyorsa bosuna okadar formda mesaj yazmıs derim ben. kodlamada hata varsa affola ;) (+) yerine (*) olmalıydı diyeydin aşşağılamadan, ama karakter meselesi deilmi haklısın ;) İyi günler

Arkadaş toplama ile faktoriel istemiş :) sende toplama işareti koyunca birde çalışıyor gibi yazınca dedim ne oluyor :) yani onu * yapsamda arkadaşın sorunu çözülmüyor :)
 

hbektas

Öğrenci
Katılım
7 Eylül 2012
Mesajlar
21
Reaksiyon puanı
0
Puanları
0
Arkadaş toplama ile faktoriel istemiş :) sende toplama işareti koyunca birde çalışıyor gibi yazınca dedim ne oluyor :) yani onu * yapsamda arkadaşın sorunu çözülmüyor :)


Evet anlamamışım simdi baktığımda anladım. ;) Kusura bakmayın Sayın Doçent :D
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
Herkez bildiği dilde döktürmüş, özendim ya rabbim ! :D

#include < @cgrszone > // üstadım bi hatam varsa affola, soluksuz php den sonra sancılı geldi bi an. :(
Kod:
[URL="http://forum.shiftdelete.net/usertag.php?do=list&action=hash&hash=include"]#include[/URL]  <iostream> // temel girdi çıktı akışı, on numaradır, candır.

using namespace std;  // bu bende tik oldu, "std::" ifadesinden kurtarmıyor yanlızca beni yani. :D

class oylesoruyaboyleIntsinifiJoje // isim sanırım açıklıyor durumu !
{
  protected:

    double sayi;

  public:

    oylesoruyaboyleIntsinifiJoje( const double& a = 0 )
    {
        this->sayi = a;
    }

    operator double()
    {
        return this->sayi;
    }

    oylesoruyaboyleIntsinifiJoje operator +( oylesoruyaboyleIntsinifiJoje& a )
    {
        double r = 0;
        double aa = a;
        for(double kere = 0; kere < aa; kere++ )
        {
            r += this->sayi;
        }

        return r;
    }

    oylesoruyaboyleIntsinifiJoje operator !()
    {
        oylesoruyaboyleIntsinifiJoje sonuc = 1;
        for(double aa = 1; aa <= this->sayi; aa++)
        {
            oylesoruyaboyleIntsinifiJoje aaa(aa);
            sonuc = sonuc + aaa;
            cout << sonuc << endl;
        }

        return sonuc;
    }
};

int main() // argümansız main fonksiyonu
{

oylesoruyaboyleIntsinifiJoje a = 10, b = 5, c = 2;

cout << !a << endl << !b << endl << !c << endl;

cout << "c++ oper..! ;)" << endl;

return EXIT_SUCCESS;
}
 

mjsamet

Asistan
Katılım
22 Aralık 2009
Mesajlar
149
Reaksiyon puanı
1
Puanları
0
O değil de şöyle saçma sapan algoritmaları çok mu arıyolar ben onu merak ettim :D

bana göre bunlar saçma değil. çünkü bakış açını ve mantığını geliştiriyor bunları cevaplamak. ayrıca başlangıç soruları gibi geldi bana ve bu yüzden normaldir :)
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
bana göre bunlar saçma değil. çünkü bakış açını ve mantığını geliştiriyor bunları cevaplamak. ayrıca başlangıç soruları gibi geldi bana ve bu yüzden normaldir :)

kimde ne eksikse onun için çalışırmış, üstadım yapamıyorum dememiş, saçma demiş. :D
banada saçma geldi, ama ben ( bi çok kişi farketmicek bile söylemezsem, algoritmayı değil zaten kodu yazdım, o da özlemiştim c++'ı, bilen bilir php ile devam ediyorum akademik hayatıma.)
yazmak istedim, ilk başta bu kadar basit bişeyi elbet biri cevaplar dedim ama bi okudum ki Allah Allahhh yani. :D
nihayetinde cevabı veren biri değilim burda, ama hoş ciddi ciddi "üstad tamamda algoritması ne bunun ?" diye sorarlarsa çıkarır vururum foruma ( masaya ! ) sorun değil. :D

böyle bi algoritma sorusu olamaz, alternatif yapısal çözümleri baz alan şeyler çok saçma ama mantık sorusudur, cinsliğine sorulur.
 

yolgezer2001

Öğrenci
Katılım
18 Ekim 2012
Mesajlar
1
Reaksiyon puanı
0
Puanları
0
selamlar
arkadaşın sorusu aslında benimde sorunum ancak benimkinin cevabı bu şekilde degil yani:
*başla
*sayı,sayı1,sayaç
*
*
*
*
*
*
*sonucu ekrana yaz
*DUR

şeklinde yazabilecek arkadaş varsa sevinirim
saygılar.
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
Algoritma şemasını çıkarıp yüklicem ama internetimde sıkıntı var, hiç bi siteye düzgün giremiyorum...
 

ysfurq

Öğrenci
Katılım
6 Aralık 2013
Mesajlar
1
Reaksiyon puanı
0
Puanları
0
Selamun Aleyküm arkadaşlar lütfen yardım girilen iki sayının okek ini bulan programın algoritması ve akış diyagramı
 
Üst