صفحه 1:
ساختمان دادهها
صفحه 2:
توابع بازگشتی زیر چه چیزی محاسبه میشود؟
unsigned int F(unsigned int n)
{
if(n==0)
return 0;
return n * F(n-1);
1
unsigned int G(double x, unsigned int n)
if (n==0)
return 0;
return n + G(x, n-1);
1
unsigned int R(unsigned int n)
{
if(n<2)
return 0;
return 1 + R(n/2);
+
صفحه 3:
تعیین کنید در تابع بازگشتی زیر چه چیزی محاسبه میشود؟
ارقام عدد را با هم جمع می کند
unsigned int Q(unsigned int n)
{
if (n==0)
return 0;
return Q(n/10) + n%10;
1
int gcd(int a, int b)
{
)
if (b=
return a;
else
return gcd(b,a%b) ;
صفحه 4:
بزرگترین مقسومعلیه مشترک دو عدد صحیح 8 ys GCD(a,b) cb,
دو صفر نيستندء بزرگترین عدد صحیح است که هم بر 8 و هم بر أ قابل قسمت
است. الگوریتم آن و ارم مورا لیب 3 ر رانا سم سس كردم حارج قسمث
0 و باقیمانده ۲ را به دست آورید به طوری که +3200 اگر 020 باشد آنگاه
oe GCD(a,b)=GCD(b, 1) cygav! ye» GCD(a,b)=a
باقیمانده هر بار کاهش مییابد. سرانجام به باقیمانده صفر میرسیم. آخرین باقیمانده
غیرصفر, بزرگترین مقسوم علیه مشترک 2 و 0 است. یک تابع بازگشتی و یک تابع
غیربازگشتی برای محاسبه بزرگترین مقسومعلیه مشترک دو عدد 2 و 0 بنویسید.
GCD(1260, 198)
=GCD(198, 72)
=GCD(72, 54)
=GCD(54, 18)
=18
صفحه 5:
مربع جادویی, ماتریسی است 03۲ (۲ عددی فرد است) از اعداد صحیح از ۱ تا *0] که مجموع هر
سطر ستون و قطر آن با هم مساوى باشد. مثلاً اگر 25 باشد مربع به شکل زیر |
عدد ۱ در خانه وسط سطر اول قرار دهیده سپس وقتی عدد 6 در جدول قرار گرفت» يك سطر به
طرف بالا و یک ستون به سمت راست حرکت کنید. عدد 1+ را در آنجا قرار دهید. مگر اينکه
یکی از شرایط زیر اتفاق افتد:
اگر حرکت به سطر بالاتر ممکن atl به پایینترین سطر ميرويم (حرکت از 4 به ©)
اگر حرکت به ستون سمت راست ممکن نباشد» به سمت چپترین ستون ميرويم (حرکت از 0 به
۰
اگر حرکت موجب شود که به يك محل پر بروید یا اگر حرکت منجر به خروج از مربع در گوشه
بالايي سمت راست شود 1+6 را در زیر ) قرار دهید.(حرکت از 0 به 0 و حرکت از 18 به
qo
wf aly fw fw
ها
YY Ye ۳ ۶ ۴
1ع | »م إصاع
اس ها | ۲ اه «
صفحه 6:
برنامهای بنویسید که عدد فرد 0] را دریافت کند و مربع جادویی را نمایش دهد.
6 برنامه و خروجیآنا بسولی/ 12 رویسرگه ۸4 چاپک نید و بسیاورید
تاريخ تحویل : سوم آبان ۱۳۸۸