Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
758
Tıklama
0
Öne Çıkarma
C'de büyük sayıların faktöriyelini hesaplama
E
9 yıl
Çavuş
Konu Sahibi

Merhabalar,

Ödev verildi bize faktöriyel hesaplayan program yapmamız için. int long veya double değerleri belli bir miktara kadar geçerli olduğundan 165'e kadar olan sayıların faktöriyelini hesaplamak zorlaşıyor. Ve dizi kullanacakmışız bunun için 300 elemanlı. Bulduğum örneklerde matematikteki alt alta çarpma gibi yapmamız söylenmiş ama ben tam anlayamadım. Yapabilecek veya yardım edebilecek biri var mıdır acaba? Teşekkürler...



H
9 yıl
Teğmen

#include<iostream> 
using namespace std;

// Maximum number of digits in output
#define MAX 500

int multiply(int x, int res[], int res_size);
void factorial(int n);

// This function finds factorial of large numbers and prints them
void factorial(int n)
{
int res[MAX];

// Initialize result
res[0] = 1;
int res_size = 1;

// Apply simple factorial formula n! = 1 * 2 * 3 * 4...*n
for (int x=2; x<=n; x++)
res_size = multiply(x, res, res_size);

cout << "Factorial of given number is \n";
for (int i=res_size-1; i>=0; i--)
cout << res[i];
}

// This function multiplies x with the number represented by res[].
// res_size is size of res[] or number of digits in the number represented
// by res[]. This function uses simple school mathematics for multiplication.
// This function may value of res_size and returns the new value of res_size
int multiply(int x, int res[], int res_size)
{
int carry = 0; // Initialize carry

// One by one multiply n with individual digits of res[]
for (int i=0; i<res_size; i++)
{
int prod = res[i] * x + carry;
res[i] = prod % 10; // Store last digit of 'prod' in res[]
carry = prod/10; // Put rest in carry
}

// Put carry in res and increase result size
while (carry)
{
res[res_size] = carry%10;
carry = carry/10;
res_size++;
}
return res_size;
}

// Driver program
int main()
{
factorial(100);
return 0;
}


buyur kardeş istediğin sayının factoriyelini al



H
9 yıl
Teğmen

Kardeş sen hangi bölümde okuyon bu kodun c kodundan farkı ne ve iyi bak kodda ne kullanılmış :)))
Sen dizi derken kurtlar vadisinden mi bahsediyon yoksa ben mi yanlış anladım





< Bu mesaj bu kişi tarafından değiştirildi hannibal1903 -- 6 Mayıs 2015; 16:02:43 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.