Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
[TEMA] lucru cu numere foarte mari
Last Updated: Dec 20 2014 11:02, Started by
geutzu_00
, Dec 19 2014 14:45
·
0
#1
Posted 19 December 2014 - 14:45
o sa copy-paste cerinta problemei aici.
The set of numbers raised to the 10th power is: {1, 1024, 59049, 1048576, 9765625, .... } What we want to accomplish is when summing the digits of an element of the set, we want to keep summing until we arrive at a single digit answer. We can observe that the sum of the digits of 2^10 is 1+0+2+4 = 7. Therefore, we will say the number arrives at 7. We also observe that the sum of the digits of 4^10 is 1+0+4+8+5+7+6 = 31 = 3+1 = 4. Here, we say the number arrives at 4 after summing the digits of the answer until we arrived at the single digit. Using the rule of summing the digits until you arrive at a single digit, how many of the first 10,000 numbers to the 10th power arrive at 4? (Note, you are seeing the first number arriving at 4 which is 4^10). #include <iostream> #include <cmath> int digit(long long int n) { long long int sum=0; while(n!=0) { sum = sum + (n%10); n=n/10; } if(sum>9) digit(sum); else return sum; } int main() { int count = 0; long long int n; for(int i=4;i<10000;i++) { n = pow(i,10); if(digit(n)==4) ++count; } std::cout << count; } functia digit calculeaza suma ciferelor unui numar pana se ajunge la o cifra si o returneaza. programul ruleaza si afiseaza 13... rezultat gresit insa. sfaturi ? |
#3
Posted 19 December 2014 - 15:10
Numerele sunt astronomice pentru tipul de date specificat de tine.
De la 79 in sus se depaseste capacitatea efectiva de stocare. Totusi, sunt fix 13 numere care respecta cerinta, dar asta in intervalul [4,79). Trebuie regandita modalitatea de reprezentare a numerelor. [ https://i.imgur.com/yf1qr5j.png - Pentru incarcare in pagina (embed) Click aici ] Edited by namespace, 19 December 2014 - 15:15. |
#4
Posted 19 December 2014 - 15:22
#5
Posted 19 December 2014 - 15:30
#6
Posted 19 December 2014 - 15:35
for ( int i = 1; i <= 10000; i++ ) { int x = i % 9; int y = pow( x, 10.0 ); if ( y % 9 == 4 ) cout << i << " "; } Dai o bere? Ideea nu e sa ridici numele astea la putere pentru ca ocupa foarte mult spatiu. Edited by magic-gabi, 19 December 2014 - 15:37. |
#7
Posted 19 December 2014 - 15:42
Daca tot ti-ai aratat muschii, de ce n-ai postat rezolvarea la cerinte facuta intr-un mod eficient?
|
#8
Posted 19 December 2014 - 15:45
#9
Posted 19 December 2014 - 15:48
Daca este arie de incepatori, atunci te rog sa demonstrezi corectitudinea codului.
|
#10
Posted 19 December 2014 - 15:58
|
#11
Posted 19 December 2014 - 16:02
N-am nimic cu tine. Nu sunt pentru atacurile la persoana ci doar pentru discutarea ideilor.
Am ceva cu posturile in care se tranteste un cod si nu o idee sau sugestie. Iar pentru acele posturi as da warn. Pt asta CC(NR^X) = CC(CC(NR)^X) iti trebuie o mica demonstratie. |
#12
Posted 19 December 2014 - 16:05
Exagerezi in ultimul hal. Warn? Serios? Chiar m-am bazat pe linkul pe care i l-ai oferit si am presupus ca a citit despre cifra de control. Temele astea nu ti le dau la scoala fara un context. Puteam sa pun toata solutia pe o linie, atat de simpla este.
Demonstratia sta in faptul ca CC(X*Y)=CC(CC(X)*CC(Y)) edit: folosisem A si B dar mi-a pus ochelaristul Edited by magic-gabi, 19 December 2014 - 16:06. |
#13
Posted 20 December 2014 - 11:02
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users