<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.algopedia.ro/wiki/index.php?action=history&amp;feed=atom&amp;title=Test_Cifre</id>
	<title>Test Cifre - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.algopedia.ro/wiki/index.php?action=history&amp;feed=atom&amp;title=Test_Cifre"/>
	<link rel="alternate" type="text/html" href="https://www.algopedia.ro/wiki/index.php?title=Test_Cifre&amp;action=history"/>
	<updated>2026-04-12T20:19:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.algopedia.ro/wiki/index.php?title=Test_Cifre&amp;diff=18262&amp;oldid=prev</id>
		<title>Bella: /* cifra1 */</title>
		<link rel="alternate" type="text/html" href="https://www.algopedia.ro/wiki/index.php?title=Test_Cifre&amp;diff=18262&amp;oldid=prev"/>
		<updated>2022-11-09T19:55:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;cifra1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Test  == &lt;br /&gt;
===[https://www.pbinfo.ro/?pagina=probleme&amp;amp;id=464 Cifrek]===&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main() {&lt;br /&gt;
    int n, k, c;&lt;br /&gt;
    cin &amp;gt;&amp;gt; k;               // citim valoarea cifrei k&lt;br /&gt;
    c = 0;                  // c retine cate cifre k vom gasi in numerele citite&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;               // citim primul numar din sir&lt;br /&gt;
    while( n != 0 ) {       // cata vreme numarul citit n este nenul&lt;br /&gt;
      if( n % 2 == 0 )      // daca numarul este par&lt;br /&gt;
        while( n &amp;gt; 0 ) {    // cata vreme avem cifre in n&lt;br /&gt;
          if( k == n % 10 ) // daca ultima cifra a lui n este k&lt;br /&gt;
            c ++;           // crestem contorul cu 1&lt;br /&gt;
          n = n / 10;       // scoatem ultima cifra din n&lt;br /&gt;
        }&lt;br /&gt;
      cin &amp;gt;&amp;gt; n;             // citim urmatorul numar din sir&lt;br /&gt;
    }&lt;br /&gt;
    cout &amp;lt;&amp;lt; c;              // afisam contorul&lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
    int n, k, c;&lt;br /&gt;
    scanf( &amp;quot;%d&amp;quot;, &amp;amp;k );&lt;br /&gt;
    c = 0;&lt;br /&gt;
    scanf( &amp;quot;%d&amp;quot;, &amp;amp;n );&lt;br /&gt;
    while( n &amp;gt; 0 ) {&lt;br /&gt;
      if( n % 2 == 0 ) &lt;br /&gt;
        while( n &amp;gt; 0 ) {&lt;br /&gt;
          if( k == n % 10 )&lt;br /&gt;
            c ++;&lt;br /&gt;
          n = n / 10;&lt;br /&gt;
        }&lt;br /&gt;
      scanf( &amp;quot;%d&amp;quot;, &amp;amp;n );&lt;br /&gt;
    }&lt;br /&gt;
    printf( &amp;quot;%d&amp;quot;, c );&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://www.pbinfo.ro/?pagina=probleme&amp;amp;id=367 Eliminare Cifre]===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
  int n, i, nr, sum, nou, ucif, p;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;                          // citim n ( numarul de numere din sir&lt;br /&gt;
  sum = 0;                           // suma numerelor din sir, dupa eliminarea aparitiilor ultimei cifre&lt;br /&gt;
  i = 0;                             // i reprezinta aici pozitia fiecarui numar citit ( numerotam numerele pornind de la 0, ultima pozitie va fi n-1&lt;br /&gt;
  while ( i &amp;lt; n ){                   // cata vreme am citit mai putin de n numere&lt;br /&gt;
    cin &amp;gt;&amp;gt; nr;                       // citim numarul din sir de pe pozitia i&lt;br /&gt;
    ucif = nr % 10;                  // salvam in ucif ultima cifra a lui nr&lt;br /&gt;
    &lt;br /&gt;
    nou = 0;                          // construim un nou numar ce contine cifrele diferite de ultima cifra&lt;br /&gt;
    p = 1;                            // avem nevoie de o putere a lui 10, initial 1&lt;br /&gt;
    while ( nr &amp;gt; 0 ){                 // cata vreme am cifre in numar&lt;br /&gt;
      if ( nr % 10 != ucif ){         // daca ultima cifra e diferita de ucif&lt;br /&gt;
        nou = ( nr % 10 ) * p + nou;  // adaugam cifra la inceputul numarului nou&lt;br /&gt;
        p *= 10;                      // crestem puterea&lt;br /&gt;
      }&lt;br /&gt;
      nr /= 10;                       // scoatem din nr ultima cifra&lt;br /&gt;
    }    &lt;br /&gt;
    sum += nou;                       // adaugam numarul nou contruit la n    &lt;br /&gt;
    i++;                              // trecem la numarul urmator ( cu numarul de ordine i )&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  cout &amp;lt;&amp;lt; sum ;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
  int n, i, nr, sum, nou, ucif, p;&lt;br /&gt;
  scanf( &amp;quot;%d&amp;quot;, &amp;amp;n );&lt;br /&gt;
  sum = 0;&lt;br /&gt;
  i = 0;&lt;br /&gt;
  while ( i &amp;lt; n ){&lt;br /&gt;
    scanf( &amp;quot;%d&amp;quot;, &amp;amp;nr );&lt;br /&gt;
    ucif = nr % 10;&lt;br /&gt;
    nr /= 10;&lt;br /&gt;
    nou = 0;&lt;br /&gt;
    p = 1;&lt;br /&gt;
    while ( nr &amp;gt; 0 ){&lt;br /&gt;
      if ( nr % 10 != ucif ){&lt;br /&gt;
        nou = nou + p * ( nr % 10 );&lt;br /&gt;
        p *= 10;&lt;br /&gt;
      }&lt;br /&gt;
      nr /= 10;&lt;br /&gt;
    }&lt;br /&gt;
    sum += nou;&lt;br /&gt;
  i++;&lt;br /&gt;
  }&lt;br /&gt;
  printf( &amp;quot;%d&amp;quot;, sum );&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===[https://www.pbinfo.ro/?pagina=probleme&amp;amp;id=3077 suma_prefixe]===&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
  long long int n, s = 0;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
  while( n &amp;gt; 0 ){&lt;br /&gt;
    s = s + n;&lt;br /&gt;
    n = n / 10;&lt;br /&gt;
  }&lt;br /&gt;
  cout &amp;lt;&amp;lt; s;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===[https://www.pbinfo.ro/?pagina=probleme&amp;amp;id=361 cifra1]===&lt;br /&gt;
Vom elimina pe rand cate o cifra, prima data ultima cifra, apoi penultima, in final prima cifra.&lt;br /&gt;
Vom imparti numarul in 2. Prima parte a numarului contine si cifra de eliminat, a doua parte contine restul cifrelor de dupa cifra de eliminat. Vom construi un nou numar alipind cele doua parti dupa ce eliminam din prima parte ultima cifra.&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(){&lt;br /&gt;
    int n, max, nr, p;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    p = 1;&lt;br /&gt;
    max = 0;&lt;br /&gt;
    while( p &amp;lt;= n ){&lt;br /&gt;
      nr = n / ( p * 10 ) * p + n % p; &lt;br /&gt;
      if( nr &amp;gt; max )&lt;br /&gt;
        max = nr;&lt;br /&gt;
      p = p * 10;&lt;br /&gt;
    }&lt;br /&gt;
    cout &amp;lt;&amp;lt; max;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
    int n, max, nr, p;&lt;br /&gt;
    scanf( &amp;quot;%d&amp;quot;, &amp;amp;n );&lt;br /&gt;
    p = 1;&lt;br /&gt;
    max = 0;&lt;br /&gt;
    while( p &amp;lt;= n ){&lt;br /&gt;
      nr = n / ( p * 10 ) * p + n % p; &lt;br /&gt;
      if( nr &amp;gt; max )&lt;br /&gt;
        max = nr;&lt;br /&gt;
      p = p * 10;&lt;br /&gt;
    }&lt;br /&gt;
    printf( &amp;quot;%d&amp;quot;, max );&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://www.pbinfo.ro/?pagina=probleme&amp;amp;id=2575 Schimb_cif]===&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
  long long n, i, x, uc, p, inv;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
  i = 1;&lt;br /&gt;
  while ( i &amp;lt;= n ){&lt;br /&gt;
    cin &amp;gt;&amp;gt; x;           // citim al i-lea numar&lt;br /&gt;
    uc = x % 10;        // pastram ultima cifra&lt;br /&gt;
    x = x / 10;         // taiem ultima cifra din numar&lt;br /&gt;
    inv = 0;            // determinam inversului numarului ramas, nu includem si prima cifra &lt;br /&gt;
    p = 1;              // p va avea atatea 0 -uri, cate cifre are mijlocul lui x&lt;br /&gt;
    while ( x &amp;gt; 9 ){    // cata vreme x are mai mult de o cifra&lt;br /&gt;
      inv = inv * 10 + x % 10;  // adaugam cifra la invers&lt;br /&gt;
      x = x / 10;               // taiem cifra din x&lt;br /&gt;
      p = p * 10;               // adaugam un 0 la puterea lui p&lt;br /&gt;
    }&lt;br /&gt;
    x = ( x * p + inv ) * 10 + uc;   // recompunem numarul alipind prima cifra ramasa in x, inv si ultima cifra&lt;br /&gt;
    cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    i ++;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bella</name></author>
	</entry>
</feed>