کد:// facrotri.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> #include <conio.h> int _tmain(int argc, _TCHAR* argv[]) { unsigned int f,i,n; printf("Fact N"); for(int j=0;;j++) { f=1; n=0; printf("\nEnter Number: "); scanf("%d",&n); printf("%d! = ",n); for(i=n;i>0;i--) { printf("%d",i); f=f*i; if(i!=1) printf("x"); } printf(" = %u", f); } return 0; }
تاپیک تغییر نام داده شد .
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
<red>از کاربر تا ادمین در Different Level</red>Protected by Norton Internet Security 2012
MoBiN.R (24-06-09), pooyi_khafan (23-06-09)
این کد چه بدبختیه ! برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
من به شکل حرفه ای تر برنامه شو تو سی شارپ نوشتم :
کد:http://rapidshare.com/files/247638980/Factorial.exe.htmlهر کی Source شو خواست PM بزنه تا بهش بدم برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
PS:
این برنامه کلا از دو دستور For و Foreach فاکتوریل رو حساب می کنه. اما فاکتوریل n رو هنوز نتونستم برم چون متغیر double تا حدودا فاکتوریل 60-70 رو میتونه در خودش ذخیره کنه!
کسی از دوستان می دونم چجوری این مشکل رو میشه مرتفع کرد ؟ برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
کد پویان جان یه کم پیچیدست و نیازم به این پیچیدگی نیست .. در ضمن توی برنامه فاکتوریل به فایل هدر #include "stdafx.h" اصلا نیازی نیست و نمیدونم اینجا چیکارست :دی ... در ضمن نیازی هم به این همه پیچیدگی تابع نیست .. من کد سادشو پایین مینویسم .. البته من برنامه علی جانو هنوز ندیدم .. اگر لطف کنه کدشو بزاری ممنون میشم
کد:#include <stdio.h> #include <conio.h> void main() { int sum,i,n; printf("Please Insert Number : "); scanf("%d",&n); for(i=0;i<=n;i++) sum *= i; printf("Fact is = %d",sum); }
___________________________________________My Resume/CV
Mobin Ranjbar
Programmer / App Developer / Software Engineer / Scrum Master / Student
My System Config Validation
___________________________________________
™Ali (25-06-09)
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنیدبرای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط ™Ali برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
آهـــــــــــــا!!!!!
از این جا به بعدش دیگه کار ساختمان داده و طراحی الگوریتمه ... برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
تکنیک های کد نویسی و ساختمان داده های پویا اینجاس که رو میشه
فقط همینو بگم که با Data Type های خود #C نمیشه زیادتر از این جلو رفت .
موفق باشید
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
Friends Will keep you Dry
استفاده از Stack نسبت به یک حلقه For برای پیدا کردن فاکتوریل بهینه تر نیست؟
AMD Ryzen 5800X
MSI X570 Tomahawk
Geforce RTX 3080 FE
32GB Crucial DDR4-3600 CL16
WD SN750 Black 1TB SSD
Corsair HX1200i
LG 27GP850B
MoBiN.R (26-06-09)
اینم کد من (حدودا بعد از یه چند ساعت فکر این کد به مخم خطور کرد برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ) :
البته اصل کد رو کذاشتم و متعلقاتش توش نیست !
کد:int Fact = 1 ; double.TryParse(txtBox.Text, out Count); for (double x = Count; x > 0; x--) { Fact *= x; } lblResults.Text = Fact.ToString();
با این کد میشه دقیقا تا فاکتوریل 170 پیش رفت!
جدیدا یه کد انحصاری واسه شناسایی اعداد اول نوشتم که به زودی تو انجمن میذارم برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
راستی میشه بگید این کدی که پست اول گذاشتن به چه زبانیه ؟ برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
MoBiN.R (26-06-09)
حلقه For معمولا واسه محاسبه اعداد Fibonachi و فاکتوریل و قرار دادن اعداد بسیار زیاد در یک آرایه و ... زیاد کاربرد داره.استفاده از Stack نسبت به یک حلقه For برای پیدا کردن فاکتوریل بهینه تر نیست؟
تا به حال ندیدم کسی از <>Stack بیاد و فاکتوریل رو به دست بیاره. اگر کدی داری ممنون میشم بذاری برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
MoBiN.R (26-06-09)
به هیچ وجه !!!برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط Stream برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
برنامه های بازگشتی ( اگه منظورت استفاده از Stack سیستم باشه) سربار زیادی دارن ...
هر دفعه فراخوانی یعنی سیو کردن نتایج مرحله قبلی + زمان مورد نیاز برای ذخیره و بازیابی مجدد .
ولی اینجوری کد خیلی ساده و کوتاهی داره دو خطه برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
به طور کلی بهتره برنامه های بازگشتیی که میشه با حلقه نوشت رو به صورت غیر بازگشتی و توی حلقه نوشتبرای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
هم زمان اجرا , هم سربار کمتره برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
اگه منظورت از Stack تعریف شده خود کاربر باشه بستگی داره چجوری میخوای ازش استفاده کنی ؟؟؟؟؟
Friends Will keep you Dry
منظورم همون برنامه های بازگشتی بود.برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط K A S R A برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
درسته الان یک سرچ کردم مثل اینکه Iteration نسبت به Recursion از نظر Efficiency بهتر هست. من برعکسش رو فکر می کردم!
ممنون.
AMD Ryzen 5800X
MSI X570 Tomahawk
Geforce RTX 3080 FE
32GB Crucial DDR4-3600 CL16
WD SN750 Black 1TB SSD
Corsair HX1200i
LG 27GP850B
MoBiN.R (26-06-09)
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks