ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to board

Discussion of Problem 1083. Factorials!!!

Show all messages Hide all messages

Если кому интересно... Ivanov Alexander 5 Feb 2008 17:53
тест 1: n=9 k=2
тест 2: n=1 k=1
тест 3: n=10 k=1
тест 4: n=8 k=1
тест 5: n=10 k=2
тест 6: n=7 k=2
тест 7: n=1 k=2
тест 8: n=2
тест 9: n=10 k=5
тест 10: n=9 k=5
n=3,4,5,6 не встречается...
тест 8 - к по условию не может быть меньше 1.
Ivanov Alexander wrote 5 February 2008 17:53
В единственной строке сначала дано целое число n, 1 ≤ n ≤ 10, затем ровно один пробел, затем k восклицательных знаков, 1 ≤ k ≤ 20.
Re: Если кому интересно... Ivanov Alexander (HSE: EconomicsForever!) 23 Nov 2008 02:54
про значение К в этом тесте не известно
Re: Если кому интересно... soloviyova_ssau 14 Jan 2009 13:01
а какой ответ на 9 тест?
Re: Если кому интересно... zam_sabina 10 Feb 2010 23:53
1) 50

Очень интересно а как вы эти тесты извлекли?

Edited by author 10.02.2010 23:53
Какой ответ на тест 5?
945?
Нет там 3840
Re: Если кому интересно... Meraj al Maksud 17 Dec 2017 16:16
тест 8: n = k
Тест 8 - просто супер. Явная неучтенка.
И сколько еще таких тестов?
Просто офигенная постановка задачи.

Edited by author 16.04.2011 19:50
Re: Если кому интересно... Ananstasya 29 Jul 2014 13:12
Скажите,пожалуйста, какой должен быть ответ в тесте номер 8? Я уже пробовала,чтобы программа не пропускала такие варианты с помощью repeat, пробовала ставить в таком случае ответ 1, ответ 0, ответ - само число. Ничего не получается!

Edited by author 29.07.2014 13:12
Тест 10:
9 !!!!! =
9(9-5)(9 mod 5) = 9*4*4 = 144
Почему вылазит неправильный ответ?!
Re: Если кому интересно... Oleg Baskakov 20 Jul 2016 15:18
N mod K — это последний больший нуля элемент ряда N - XK. В данном случае этот элемент первый и он же последний, не нужно умножать на него два раза.
Иными словами, мы вычитаем K от исходного числа, и умножаем на получившееся, и повторяем так до тех пор, пока получившееся число не станет нулём или меньше.
Еще вопрос:
2 !!! = ?
2 или 4? и какие вводные 11-го теста?
2 !!! = 2
Re: Если кому интересно... Aliaksandr Torkhau 8 May 2012 13:32
Меня очень интересует как в примере 9 !! получилось равным 945
если разбирать описание задачи то получим:
n = 9
k = 2
n mod k = 1(есть остатое от деления)
тогда получаем 9!! = 9*(9-2)*1 = n(n-k)(n mod k) = 9*7*1 = 63
Ну откуда 945 невкурю????
Re: Если кому интересно... Andrew Sboev 8 May 2012 23:33
This problem is easily solving without any precalcing or info about tests. Not more than 15-20 lines of code.
Re: Если кому интересно... Aliaksandr Torkhau 10 May 2012 13:18
I did not ask about the problem of solving the problem. I asked about the correctness of my reasoning, I can not right in the calculation of 9 !!
9 !!
 i
1) n:=9*(9-2)
2)n:=63*(9-4)
3)n:=315*(9-6)
4)n:=945*(9-8)

This is correctness of your reasoning.

In my program test 5 is correct, but system writed, that wrong. Answer - 7680
Mad_Sanek wrote 28 July 2012 03:34
In my program test 5 is correct, but system writed, that wrong. Answer - 7680
All manual tests ok. Test 5 is also in error. I do not understand this...

import java.util.*;
public class Factor {
public static void main(String[] args){
Scanner put=new    Scanner(System.in);

int n,k,fac;
String ffc;

n=put.nextInt();
ffc=put.next();
k=ffc.length();
fac=n;

for(int i=1;i<(n/k);i++){
fac=fac*(n-(i*k));
}
if(n%k!=0)fac=fac*(n%k); else fac=fac*k;
System.out.print(fac);
}
}

Edited by author 29.10.2012 17:37
Re: Если кому интересно... division by zero masters 12 Dec 2012 00:12
используя гамма функцию можно в одну строчку :)
Re: Если кому интересно... Meraj al Maksud 2 Dec 2017 02:40
Застрял в тесте 8:

#include<stdio.h>
#include<string.h>

int main(){
    int n, i, l;
    char k[20];
    scanf("%d%s", &n, k);
    l = strlen(k);
    int result = n;
    i = n - l;
    do{
        result = result * i;
        i = i - l;
    }
    while (i > n % l);
    if (n == 1) result = 1;
    printf("%d", result);

    return 0;
}

Edited by author 02.12.2017 02:41

Edited by author 02.12.2017 02:41




Edited by author 25.07.2014 12:47
9 !! = 9*(9-2)*(9-2*2)*(9-2*2*2)....*1=9*7*5*3*1=945
Re: Если кому интересно... german_goncharov 11 Apr 2019 20:34
Answers for numbers from topic:

1. 945
2. 1
3. 3628800
4. 40320
5. 3840
6. 105
7. 1
8. 2 (if in this case k = 1)
9. 50
10. 36
Моё нестандартное решение :)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class proga
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
        String[] temp = sc.readLine().split(" ");
        int ch = Integer.parseInt(temp[0]);
        int len = temp[1].length();
        int ost = ch%len;
        int result = ch;
        if(ost==0){ost+=len;}
        while(ch!=ost)
        {
            ch-=len;
            result*=ch;
        }
        System.out.println(result);
    }
}
какой ответ на 8 тест?
Re: Если кому интересно... Makedonskiy 12 Dec 2013 15:40
какой ответ на тест 8?
а како
а какой ответ на тест 5 ?

what's the right answer for test 5 ?

who knows ? can you give a hand pls
Ivanov Alexander wrote 5 February 2008 17:53
тест 1: n=9 k=2
тест 2: n=1 k=1
тест 3: n=10 k=1
тест 4: n=8 k=1
тест 5: n=10 k=2
тест 6: n=7 k=2
тест 7: n=1 k=2
тест 8: n=2
тест 9: n=10 k=5
тест 10: n=9 k=5
n=3,4,5,6 не встречается...
why wrong on test 5??




#include<iostream>
//#include<string>
using namespace std;
int main()
{
    int n;
    string s;
    cin>>n;
    cin>>s;
    int sum=n;
    int len = s.size();
//cout<<len<<endl;

    int i =1;
    while((n-i*len)>1)
    {
        sum*=(n-i*len);
        i++;
    }
        if(n%len!=0)
            cout<<(sum*(n%len))<<endl;
        else
            cout<<sum*len<<endl;

        return 0;
    }
8th test is 2 !!
and the answer is 2