Cerința
Directorul unei şcoli doreşte să premieze la sfârşitul anului şcolar pe cei mai buni elevi la învăţătură. Pentru acest lucru el are de rezolvat două probleme:
1. Să determine câţi elevi vor fi premiaţi dintre cei n
( 2≤n≤700
) elevi ai şcolii. După discuţii aprinse cu ceilalţi profesori se hotărăşte în Consiliul Profesoral ca numărul premianţilor să fie n-k
, unde k
este cel mai mare număr pătrat perfect mai mic strict decât n
. De exemplu, pentru n=150
, k
este 144
(pentru că 144=12*12
), deci vor fi premiaţi 150
– 144
= 6
elevi.
Exemplu
Intrare
35
Ieșire
10 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
#include <bits/stdc++.h> using namespace std; int n; int main(){ cin >> n; int k = sqrt(n); if(k * k == n) k--; cout << n - k * k << endl; int nr = k * k; for(int i = 1; i <= k; ++i, cout << endl) for(int j = 1; j <= k; ++j) cout << nr << ' ', nr--; return 0; }