<?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=0513_-_K_Sort_1</id>
	<title>0513 - K Sort 1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0513_-_K_Sort_1"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0513_-_K_Sort_1&amp;action=history"/>
	<updated>2026-05-01T04:34:15Z</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=0513_-_K_Sort_1&amp;diff=5396&amp;oldid=prev</id>
		<title>Adina Timiș: Pagină nouă:  ==Cerința== Se dă un șir cu n elemente, numere naturale, numerotate începând cu 1 și un număr k. Considerăm k subșiruri ale șirului, astfel: *primul subșir este format din elementele din șir numerotate cu 1, k+1, 2*k+1, … *al doilea subșir este format din elementele din șir numerotate cu 2, k+2, 2*k+2, … *… *al k-lea subșir este format din elementele din șir numerotate cu k, 2*k, 3*k, … Ordonați crescător fiecare dintre aceste subșiruri și afișa...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0513_-_K_Sort_1&amp;diff=5396&amp;oldid=prev"/>
		<updated>2023-04-29T11:39:42Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă:  ==Cerința== Se dă un șir cu n elemente, numere naturale, numerotate începând cu 1 și un număr k. Considerăm k subșiruri ale șirului, astfel: *primul subșir este format din elementele din șir numerotate cu 1, k+1, 2*k+1, … *al doilea subșir este format din elementele din șir numerotate cu 2, k+2, 2*k+2, … *… *al k-lea subșir este format din elementele din șir numerotate cu k, 2*k, 3*k, … Ordonați crescător fiecare dintre aceste subșiruri și afișa...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Cerința==&lt;br /&gt;
Se dă un șir cu n elemente, numere naturale, numerotate începând cu 1 și un număr k. Considerăm k subșiruri ale șirului, astfel:&lt;br /&gt;
*primul subșir este format din elementele din șir numerotate cu 1, k+1, 2*k+1, …&lt;br /&gt;
*al doilea subșir este format din elementele din șir numerotate cu 2, k+2, 2*k+2, …&lt;br /&gt;
*…&lt;br /&gt;
*al k-lea subșir este format din elementele din șir numerotate cu k, 2*k, 3*k, …&lt;br /&gt;
Ordonați crescător fiecare dintre aceste subșiruri și afișați șirul obținut.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numerele n și k, iar apoi n numere naturale, reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Programul va afișa pe ecran elementele șirului, separate prin exact un spațiu, după efectuarea operațiilor cerute.&lt;br /&gt;
==Restricții și precizări==&lt;br /&gt;
*1 ≤ k &amp;lt; n ≤ 1000;&lt;br /&gt;
*cele n numere citite vor fi mai mici decât 1.000.000.000;&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
:11 3&lt;br /&gt;
:7 5 4 3 1 6 8 9 11 10 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:3 1 4 7 2 6 8 5 11 10 9&lt;br /&gt;
:Datele de intrare corespund restricțiilor impuse.&lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;Intrare&lt;br /&gt;
:0&lt;br /&gt;
:0&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele de intrare nu corespund restricțiilor impuse.&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#0513 - K Sort 1&lt;br /&gt;
def sortare_intercalata(n, k, a):&lt;br /&gt;
    # sortare intercalata&lt;br /&gt;
    for i in range(k):&lt;br /&gt;
        v = []&lt;br /&gt;
        p = 0&lt;br /&gt;
        for j in range(i, n, k):&lt;br /&gt;
            v.append(a[j])&lt;br /&gt;
            p += 1&lt;br /&gt;
        v.sort()&lt;br /&gt;
        p = 0&lt;br /&gt;
        for j in range(i, n, k):&lt;br /&gt;
            a[j] = v[p]&lt;br /&gt;
            p += 1&lt;br /&gt;
    return a&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    # citirea numarului de elemente din vector si a vectorului&lt;br /&gt;
    n, k = map(int, input(&amp;quot;Introduceti numarul de elemente si valoarea k: &amp;quot;).split())&lt;br /&gt;
    a = list(map(int, input(&amp;quot;Introduceti elementele vectorului (separate prin spatiu): &amp;quot;).split()))&lt;br /&gt;
&lt;br /&gt;
    # verificarea restrictiilor&lt;br /&gt;
    if 1 &amp;lt;= n &amp;lt;= 1000 and all(1 &amp;lt;= x &amp;lt;= 10**9 for x in a):&lt;br /&gt;
        a_sorted = sortare_intercalata(n, k, a)&lt;br /&gt;
        # afisarea vectorului sortat&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        for i in range(n):&lt;br /&gt;
            print(a_sorted[i], end=&amp;quot; &amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adina Timiș</name></author>
	</entry>
</feed>