numar n pt care n^n are n cifre

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
crash
Junior
Junior
Posts: 9
Joined: 17 Mar 2013, 20:21
Judet: Bucureşti

numar n pt care n^n are n cifre

Post by crash » 01 Apr 2013, 18:48

Salut! Aveti idee ce gresesc aici? Problema zice asa: sa se gaseasca un numar n pentru care n^n are n cifre.
Cod:

Code: Select all

#include<stdio.h>
#include<conio.h>
#include<math.h>
void main(){
int n,k,cifnn=0;
long int nn;
k=1;n=1;
while(k){
  nn=pow(n,n);
  while(nn%10){ //calculez numarul cifrelor lui n^n
	 cifnn++;
	 nn=nn/10;
  }
if(cifnn==n){
	  printf("%d",n);
	  k=0;
	  }
n++;
}
getch();
}
Last edited by Marius Bancila on 01 Apr 2013, 22:56, edited 1 time in total.
Reason: code tags



User avatar
bu7ch3r
Membru++
Membru++
Posts: 326
Joined: 17 May 2011, 15:17
Judet: Iaşi
Location: Sofia
Contact:

Re: numar n pt care n^n are n cifre

Post by bu7ch3r » 02 Apr 2013, 13:48

Salut!

problema asta trebuia s-o rezolvi intr-o secunda. Daca am inteles eu corect enuntul, link-ul de mai jos o sa te lamureasca:

http://lmgtfy.com/?q=f(x)%3Dx+and+f(x)%3Dx%5Ex

Nu e buna intersectia cu f(x) = x dar sper ca intelegi tu ideea :)

Legat de cod:

Code: Select all

#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
    int n,k,cifnn=0;
    long int nn;
    k=1;n=1; 
    while(k) 
    {
            nn=pow(n,n);//asta nu da warning ? //plus ca int * int da overflow la un moment dat pe la 8, 9 ar trebui:-??
            while(nn%10) //oare ?
            //while(nn) //asa ar trebui sa testezi conditia de parasire a buclei % face altceva
            {
                      //calculez numarul cifrelor lui n^n
                      //super super
                      cifnn++;
                      nn=nn/10;
            }

           if(cifnn==n)
           {
                printf("Numarul fantastic este %d\n",n);
                k=0; //aaa tu vrei sa-l gasesti pe primul numar care sa aibe aceste proprietati, ti-l zic eu, e 1
           }
           n++;
          // cifnn, ai uitat sa-l faci 0, poti sa-l pui variabila automata aici in bucla
       }
getch();
}
Ce compilator folosesti?

Daca o sa folosesti unsigned o sa poti verifica si mai multe numere:
http://en.wikipedia.org/wiki/Integer_(computer_science)
Cu stima,
Lupu Claudiu

crash
Junior
Junior
Posts: 9
Joined: 17 Mar 2013, 20:21
Judet: Bucureşti

Re: numar n pt care n^n are n cifre

Post by crash » 16 Apr 2013, 17:08

Am initializat cifnn cu 0, am modificat conditia din while (nn!=0) si am pus n=2. Am obtinut "numarul fantastic 8". :D
Multumesc, Claudiu!

crash
Junior
Junior
Posts: 9
Joined: 17 Mar 2013, 20:21
Judet: Bucureşti

Re: numar n pt care n^n are n cifre

Post by crash » 18 Apr 2013, 19:01

Am uitat sa zic ... Lucrez pe o vechitura ... Borland C++, version 3.1 (1990).

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: numar n pt care n^n are n cifre

Post by Ovidiu Cucu » 19 Apr 2013, 12:53

[ off-topic ]
crash wrote:Am uitat sa zic ... Lucrez pe o vechitura ... Borland C++, version 3.1 (1990).
Tu in ce clasa esti? Stiu ca acum cativa ani era "obligatoriu" la clasele 5-8, insa intre timp s-a renuntat.
Arunca-l darcului la gunoi si pune-ti unul mai nou!

User avatar
bu7ch3r
Membru++
Membru++
Posts: 326
Joined: 17 May 2011, 15:17
Judet: Iaşi
Location: Sofia
Contact:

Re: numar n pt care n^n are n cifre

Post by bu7ch3r » 19 Apr 2013, 18:10

crash wrote:Am initializat cifnn cu 0, am modificat conditia din while (nn!=0) si am pus n=2. Am obtinut "numarul fantastic 8". :D
Multumesc, Claudiu!
Cu placere! Dar cum sa fie 8? 8 la puterea a 8-a e un numar cu mai mult de 1 cifra? Singurul numar care respecta conditia ta e 1. 1 la puterea 1 e 1(o cifra). restul n-au nici o legatura. Poate n-ai pus tu enuntul corect.
Cu stima,
Lupu Claudiu

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: numar n pt care n^n are n cifre

Post by Ovidiu Cucu » 19 Apr 2013, 19:05

crash wrote:Problema zice asa: sa se gaseasca un numar n pentru care n^n are n cifre.
Cum zice problema, rezolvarea e simpla: 1^1 are 1 cifra. L-am gasit. Altceva?

crash
Junior
Junior
Posts: 9
Joined: 17 Mar 2013, 20:21
Judet: Bucureşti

Re: numar n pt care n^n are n cifre

Post by crash » 21 Apr 2013, 08:59

bu7ch3r wrote:
crash wrote:Am initializat cifnn cu 0, am modificat conditia din while (nn!=0) si am pus n=2. Am obtinut "numarul fantastic 8". :D
Multumesc, Claudiu!
Cu placere! Dar cum sa fie 8? 8 la puterea a 8-a e un numar cu mai mult de 1 cifra? Singurul numar care respecta conditia ta e 1. 1 la puterea 1 e 1(o cifra). restul n-au nici o legatura. Poate n-ai pus tu enuntul corect.
In exemplul atasat problemei zice asa: 8^8= 16777216 (adica pt n=8 n^n are n cifre(8 in cazul acesta). E ciudata formularea intr-adevar.

Post Reply