Факторіал

N! — добуток натуральних чисел від 1 до N. Напишіть програму знаходження правої ненульової цифри в запису числа N!. Наприклад, 5! = 120 — правою ненульовою цифрою буде 2, для 71 — 4.

Формат вхідних даних: у єдиному рядку знаходиться число N(1≤N≤1000).

Формат вихідних даних: у єдиний рядок виведіть праву ненульову цифру в N!.

Ідея розв’язання. Очевидним способом є обчислення факторіала чис­ла N та знаходження відмінної від нуля правої цифри із застосування дов­гої арифметики.

Розглянемо більш раціональний спосіб. Очевидно, що:

• нулі в кінці числа N! суттєвої ролі не відіграють, тому відкидатимемо їх у міру появи;

• зберігати повністю число N! також немає сенсу, достатньо зберігати 5—8 останніх цифр без «правих» нулів.

TextWindow.Title="Факторіал"
TextWindow.WriteLine("Введіть значення N")
N=TextWindow.ReadNumber()
x=1
For i=1 To N
  x=x*i
  While math.Remainder(x,10)=0
      x=x/10
    EndWhile
      If x>100000 Then
      x=Math.Remainder(x,100000)
    EndIf
  EndFor 
  TextWindow.WriteLine(Math.Remainder(x,10))

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s