المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۸:الگوریتم ها:سوال ۵

رویه‌ی xxxxx

عمل‌کرد رویه زیر را شرح دهید و دامنه‌ی مقدارهایی را که به ازای آن‌ها اجرای برنامه خاتمه می‌یابد بیابید. (و ثابت کنید!)

‎
 
Procedure xxxxx( num:word); 
var
 n,s,d:word;
begin
 while (( num <> 1) and ( num <> 4)) do
 begin
  n := num;
  n := 0;
  repeat
   d := n mod 10;
   n := n div 10;
   s := s + sqr( d );
  until n = 0;
  writeln(->, s );
  num := s;
 end;
end;

ابزار صفحه