<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3043_-_cub3</id>
	<title>3043 - cub3 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3043_-_cub3"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3043_-_cub3&amp;action=history"/>
	<updated>2026-05-01T04:04:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3043_-_cub3&amp;diff=9050&amp;oldid=prev</id>
		<title>Miawinator: Pagină nouă: Ionel are de rezolvat o nouă problemă. El trebuie să construiască un șir de &lt;code&gt;N&lt;/code&gt; numere naturale. Numerele din șir pot avea ca divizori primi doar numere prime de o cifră. După construirea șirului, Ionel a constatat că există subsecvențe în șir pentru care produsul elementelor este cubul unui număr natural.  = Cerința = Ionel vrea să determine numărul subsecvențelor din șirul construit care au produsul elementelor o valoare ce este cubul unui num...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3043_-_cub3&amp;diff=9050&amp;oldid=prev"/>
		<updated>2024-01-05T00:53:01Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: Ionel are de rezolvat o nouă problemă. El trebuie să construiască un șir de &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; numere naturale. Numerele din șir pot avea ca divizori primi doar numere prime de o cifră. După construirea șirului, Ionel a constatat că există subsecvențe în șir pentru care produsul elementelor este cubul unui număr natural.  = Cerința = Ionel vrea să determine numărul subsecvențelor din șirul construit care au produsul elementelor o valoare ce este cubul unui num...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ionel are de rezolvat o nouă problemă. El trebuie să construiască un șir de &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; numere naturale. Numerele din șir pot avea ca divizori primi doar numere prime de o cifră. După construirea șirului, Ionel a constatat că există subsecvențe în șir pentru care produsul elementelor este cubul unui număr natural.&lt;br /&gt;
&lt;br /&gt;
= Cerința =&lt;br /&gt;
Ionel vrea să determine numărul subsecvențelor din șirul construit care au produsul elementelor o valoare ce este cubul unui număr natural.&lt;br /&gt;
&lt;br /&gt;
= Date de intrare =&lt;br /&gt;
Fișierul de intrare &amp;lt;code&amp;gt;input.txt&amp;lt;/code&amp;gt; va conține pe prima linie numărul natural &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;, iar pe linia următoare se vor afla &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; numere naturale separate prin câte un spațiu, elementele șirului construit de Ionel.&lt;br /&gt;
&lt;br /&gt;
= Date de ieșire =&lt;br /&gt;
Fișierul de ieșire &amp;lt;code&amp;gt;output.txt&amp;lt;/code&amp;gt; va conține pe prima linie un număr natural reprezentând numărul subsecvenţelor din șirul construit care au produsul elementelor egal cu o valoare ce este cubul unui număr natural.&lt;br /&gt;
&lt;br /&gt;
= Restricții și precizări =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; și elemente șirului sunt numere naturale din intervalul &amp;lt;code&amp;gt;[2, 1.000.000]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
input.txt:&lt;br /&gt;
&lt;br /&gt;
8&lt;br /&gt;
&lt;br /&gt;
15 3 5 15 7 63 21 125&lt;br /&gt;
&lt;br /&gt;
output.txt:&lt;br /&gt;
&lt;br /&gt;
6&lt;br /&gt;
&lt;br /&gt;
Explicație:&lt;br /&gt;
&lt;br /&gt;
Sunt &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt; subsecvențe în șir cu produsul elementelor egal cu o valoare care este cubul unui număr natural:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;15 3 5 15&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;7 63 21&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;125&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;15 3 5 15 7 63 21&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;7 63 21 125&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;15 3 5 15 7 63 21 125&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
input.txt:&lt;br /&gt;
&lt;br /&gt;
99999999999&lt;br /&gt;
&lt;br /&gt;
15 3 5 15 7 63 21 125&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
Input-ul nu convine conditiilor&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
import math&lt;br /&gt;
&lt;br /&gt;
def verificare(n):&lt;br /&gt;
    if not(2&amp;lt;=n&amp;lt;=1000000):&lt;br /&gt;
        print(&amp;quot;Input-ul nu convine conditiilor&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
def convert():&lt;br /&gt;
    return crtState[3] * 3 * 3 * 3 + crtState[2] * 3 * 3 + crtState[1] * 3 + crtState[0]&lt;br /&gt;
&lt;br /&gt;
fin = open(&amp;quot;input.txt&amp;quot;, &amp;quot;r&amp;quot;)&lt;br /&gt;
fout = open(&amp;quot;output.txt&amp;quot;, &amp;quot;w&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
n = int(fin.readline())&lt;br /&gt;
verificare(n)&lt;br /&gt;
i, j, nr, x, mul, sol = 0, 0, 0, 0, 0, 0&lt;br /&gt;
crtState = [0] * 4&lt;br /&gt;
states = [0] * 100&lt;br /&gt;
divs = [2, 3, 5, 7]&lt;br /&gt;
&lt;br /&gt;
l=list(map(int, fin.readline().split()))&lt;br /&gt;
&lt;br /&gt;
for _ in range(1, n + 1):&lt;br /&gt;
    x = l[i-1]&lt;br /&gt;
&lt;br /&gt;
    for j in range(4):&lt;br /&gt;
        nr = 0&lt;br /&gt;
        while x % divs[j] == 0:&lt;br /&gt;
            nr += 1&lt;br /&gt;
            x //= divs[j]&lt;br /&gt;
            crtState[j] += 1&lt;br /&gt;
&lt;br /&gt;
        crtState[j] %= 3&lt;br /&gt;
&lt;br /&gt;
    states[convert()] += 1&lt;br /&gt;
&lt;br /&gt;
states[0] += 1&lt;br /&gt;
&lt;br /&gt;
for i in range(81):&lt;br /&gt;
    sol += states[i] * (states[i] - 1) // 2&lt;br /&gt;
&lt;br /&gt;
fout.write(str(int(math.sqrt(sol))))&lt;br /&gt;
&lt;br /&gt;
fin.close()&lt;br /&gt;
fout.close()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Miawinator</name></author>
	</entry>
</feed>