-
درخواست چند الگوریتم
سلام
من برای مسئله های زیر چند الگوریتم میخواستم ...
1- الگوریتمی بنویسید که کلیه اعداد فیبوناچی کوچک تز از یک میلیون را چاپ کند.
2- الگوریتمی بنویسید که عدد طبیعی n را بگیرد و آن را به مبنای 2 تبدیل کند .
3- الگوریتمی بنویسید که عدد طبیعی n را از ورودی بگیرد بگیرد :
الف ) تعداد ارقام n را تعیین نماید .
ب ) جمع ارقام n را تعیین نماید .
ج ) مقلوب عدد n را چاپ کند .
4- الگوریتمی بنویسید که عدد طبیعی n وm را از ورودی بگیرد و بزرگترین مقسوم علیه مشترک و کوچکترین مضرب مشترک آنها را چاپ کند .
5- الگوریتمی بنویسید که عد طبیعی n را از ورودی بگیرد و تعیین کند که آن تام است یا خیر ؟
و یک سوال هم خودم دارم ... آیا برنامه ای هست که بتونه برای همه اعداد تشخیص بده که اول هستند یا نه ؟
ممنون ...
-
-
-
تبدیل به مبنای k:
کد:
http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/toBaseK.html
سری فیبوناتچی:
کد:
http://ocw.kfupm.edu.sa/user/ICS43153/Reference/C-Reference/C-Prog/subsection3_4_6.html
باید یه شرط توقف (کوچک تر از یک میلیون) بذاری توش.
ب. م. م. و ک. م. م.:
کد:
int BMM(int b,int c)
{
//BMM function
int r=0;
if(c>b)
{
int tr;
tr=b;
b=c;
c=tr;
}
while(c!=0)
{
r=b%c;
b=c;
c=r;
}
return b;
}
int KMM(int b,int c)
{
//KMM function
int n=(b*c)/BMM(b,c);
return n
}
و اما در مورد اعداد اول:
آره وجود داره. ولی برای اعداد خیلی بزرگ، زمان زیادی می بره.
-
8- برنامه ای بنویسید که کوچکترین مضرب مشترک دو عدد را تعیین و چاپ کند