• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Silnia - Spoj

VPS Starter Arubacloud
0 głosów
249 wizyt
pytanie zadane 17 marca 2016 w C i C++ przez Adrian1999 Nałogowiec (34,570 p.)

Witam, zacząłem robić zadanie na spoj silnia, nie było wielkim zaskoczeniem to że przekroczyłem limit czasu, gdzie widać na żywca przy robieniu że te zadanie zżera sporą moc obliczeniową to mój kod 

#include <iostream>

#include <string>
using namespace std;

void silnia(int n)
{
unsigned long long int wynik = 1;
	for (unsigned int i = 1; i <= n; i++)
	{
		wynik *= i;
	}
	wynik %= 100;
	int druga;
	for (druga = wynik; druga % 10 != 0; druga--)
	{
		
			
	}
	cout << druga/10<<" "<<wynik%10<<endl;
}


int main()
{
	unsigned int liczba,t;
	cin >> t;
	for (int i = 0; i < t; i++)
	{
		cin >> liczba;
		silnia(liczba);

	}
	


	return 0;
}

Pytanie jest moje, jak go zmodernizować aby działał szybciej, i w ogóle działał jakieś wskazówki?

1 odpowiedź

+1 głos
odpowiedź 17 marca 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)
W tym zadaniu wcale nie powinno się liczyć silni, to strata czasu, szczególnie skoro mamy znaleźć tylko 2 ostatnie cyfry. Znajdź inny sposób :)
komentarz 17 marca 2016 przez Adrian1999 Nałogowiec (34,570 p.)
Jeszcze silni w szkole nie miałem ciężko mi samemu coś wykombinować, czy silnia ma podobną zależność co potęgi ?
komentarz 17 marca 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Co to znaczy? :D

n! = 1 * 2 * 3 * … * n

N silnia jest to iloczyn wszystkich liczb całkowitych dodatnich mniejszych lub równych n.

Podobne pytania

0 głosów
1 odpowiedź 260 wizyt
0 głosów
3 odpowiedzi 544 wizyt
0 głosów
0 odpowiedzi 289 wizyt
pytanie zadane 19 listopada 2017 w SPOJ przez Pytonista Nowicjusz (120 p.)

92,786 zapytań

141,718 odpowiedzi

320,666 komentarzy

62,115 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...