Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Test 10(2020)
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
//g++ 7.4.0 #include <iostream> using namespace std; /*1.Se citește un număr natural, n, și se cere să se scrie produsul cifrelor pare distincte din scrierea acestuia, sau -1 dacă nu există astfel de cifre. Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: dacă n=1622325, se scrie 12 (12=6∙2), iar dacă n=122325, se scrie 2*/ /*int main() { int n, p = 1; cin>>n; int fr[10] = {0}; while(n) { if((n % 10) % 2 == 0) { fr[n%10]++; } n = n / 10; } for(int i = 0; i < 10; i++) { if(fr[i] >= 1 && i % 2 == 0) { cout<<i<<" "; p = p * i; } } cout<<p; }*/ /*Scrieți un program C/C++ care citește de la tastatură numere naturale: n (n[2,20]) și cele n elemente ale unui tablou unidimensional, numere din intervalul [0,109]. Programul transformă tabloul în memorie, inserând numărul 2020 între oricare două elemente cu aceeași paritate din șirul citit. Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu, iar dacă nu există perechi de astfel de elemente, se afișează pe ecran mesajul nu exista. Exemplu: pentru n=8 și tabloul (1,3,5,8,16,35,8,20) se obține tabloul (1,2020,3,2020,5,8,2020,16,35,8,2020,20).*/ /*int main() { int n, c = 0; cin>>n; int v[n]; for(int i = 0; i < n; i ++) { cin>>v[i]; } for(int i = n; i < n - 1; i ++) { if(v[i] % 2 == v[i + 1] % 2 ) { c++; } } int a[n + c]; int ind_a =0; for(int i = 0; i < n - 1; i++) { a[ind_a] = v[i]; ind_a ++; if(v[i] % 2 == v[i + 1] % 2 ) { a[ind_a] = 2020; ind_a++; } } a[ind_a] = v[n-1]; ind_a++; for(int i = 0; i < ind_a; i++) { cout<<a[i]<<" "; } }*/ /*3.Un șir format din cel puțin trei termeni formează o progresie aritmetică de rație r dacă diferența dintre oricare termen al acestuia și cel aflat pe poziția consecutivă în șir este egală cu r. Fișierul text bac.txt conține un șir de cel puțin trei și cel mult 106 numere întregi din intervalul [-108,108]. Numerele sunt separate prin câte un spațiu. Se cere să se afișeze pe ecran numărul maxim de termeni ai unei secvențe din șir, secvență care formează o progresie aritmetică de rație 1. Dacă nu există nicio astfel de secvență, se afișează pe ecran mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate și al timpului de executare. Exemplu: dacă fișierul conține numerele 4 5 6 7 18 20 22 24 26 28 2 3 4 5 6 pe ecran se afișează valoarea 5 (corespunzătoare secvenței 2 3 4 5 6). #include <iostream> #include <fstream> using namespace std; int main() { ifstream f("bac.txt"); int x, ant, c = 1, max = 0; f>>ant; while(f>>x) { if(x - ant == 1) { c++; if(max < c) { max = c; } } else { c = 1; } ant = x; } cout<<max; }*/
g++
8 1 3 5 8 16 35 8 20
Show compiler warnings
[
+
] Compiler args
[
-
]
Show input
Compilation time: 0.52 sec, absolute running time: 0.17 sec, cpu time: 0.01 sec, memory peak: 5 Mb, absolute service time: 0,79 sec
edit mode
|
history
|
discussion
1 2020 3 2020 5 8 2020 16 35 8 2020 20