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 |
[C++] cifra [...] este divizor al (n.m. altei) cifre [...]
#19
Posted 29 January 2021 - 21:35
daca tu spui ca se intelege ceva din amestecul tau de litere, da-mi voie sa-mi ajustez codul sa-ti fie tie pe plac
#include <stdio.h> unsigned short int countDivisors(unsigned int n) { /* setup values */ unsigned int L = 10000000; unsigned int l = 8; unsigned int r = 0; /* unknown values */ unsigned int fD; unsigned int d; /* respect Ls */ if (n >= L) return 0; /* math magic goes here*/ while(n < L) {} /* remove 1st d */ /* count divisors */ while(l) {} return r; } int main() { unsigned int n = 314360; printf("%u ", countDivisors(n)); return 0; }
Spoiler
completeaza acoladele (buclele while) cu cod C/C++ incat sa rezolvi problema
Edited by MarianG, 29 January 2021 - 21:36. |
#20
Posted 30 January 2021 - 11:59
Friskey, on 29 ianuarie 2021 - 14:52, said:
Ai rezolvat problema de aseara de ai trecut la alta? @MarianG Mersi mult pentru efortul depus dar nu am voie ssa folosesc astfel de functii si ce chestii diferite ai scris acolo, tu spui sa ma uit in el si sa iau ceva sa adaug in codul meu?
Edited by MarianG, 30 January 2021 - 12:34.
|
#21
Posted 30 January 2021 - 12:36
de ce n-ai voie ?
ce te impiedica sa inveti daca folosesti o functie scrisa de tine ? Zici ca ai rezolvat cealalta problema, pai aia e, ca ai rezolvat-o dar n-ai invatat de pe urma ei. Nu mai vanati puncte pe site-uri, ca ulterior cu asta ramaneti, "cu puncte" pe "o foiae" digitala. Edited by MarianG, 30 January 2021 - 12:36. |
#22
Posted 30 January 2021 - 12:55
MarianG, on 30 ianuarie 2021 - 12:36, said:
de ce n-ai voie ? ce te impiedica sa inveti daca folosesti o functie scrisa de tine ? Zici ca ai rezolvat cealalta problema, pai aia e, ca ai rezolvat-o dar n-ai invatat de pe urma ei. Nu mai vanati puncte pe site-uri, ca ulterior cu asta ramaneti, "cu puncte" pe "o foiae" digitala. De exemplu eu nici acum nu am terminat problema asta ca nu o inteleg, am luat o la fel de pe internet, am modificat eu o chestie sau 2 la ea si mai trebuie sa ii modific ceva ca omit un caz si clar din momentul in care nu am facut o eu ca nu stiu ce sa modific la ea... |
#23
Posted 30 January 2021 - 13:06
bine, lasa codul deoparte si spune in cuvinte cum ai gandit rezolvarea
|
#24
Posted 30 January 2021 - 13:16
MarianG, on 30 ianuarie 2021 - 13:06, said:
bine, lasa codul deoparte si spune in cuvinte cum ai gandit rezolvarea Acum mi-a trecut prin minte, daca il iau pe N, ii fac o copie in M si acea copie o impart cu rest la 10 pana N < 9, asa as putea sa aflu prima cifra a lui N, nu?O sa fac acum un cod sa vad daca e buna varianta cata2472, on 30 ianuarie 2021 - 13:13, said:
Pai citind cerinta problemei m-am gandit ca am 2 probleme mici de rezolvat ca sa o rezolv problema, prima problema era sa fac in asa fel incat sa iau prima cifra din N. A dooua problema era sa calculez prima cifra a lui N cu toate celelalte cifre din N. Asa am gandit eu prima data cand am citit problema, chestia era ca nu stiam nici cum sa iau prima cifra din N si nici cum sa calculez dupa cu fiecare cifra ramasa din N. M-iam batut eu cateva ore capu cu ele si am renuntat si am zis sa caut pe internet si am vazut ca era super simplu, trebuia sa fac oglinditul si dupa sa il impart pe N la 10 si rezultatul sa il impart cu oglinditul lui si sa vad daca imi da 0. Eu am facut in urma cu cateva lectii acea problema cu oglinditul dar nu imi trecuse prin minte, am copiat eu codul, l-am trimis si am primit 25 de puncte dupa l-am editat putin si am primit 75 de puncte, am comentat pe platforma respectiva si mi s-a spus : "Poti rezolva problema si fara a calcula inversul numarului. Crezi ca ai putea face asta? Hint: Ai nevoie sa creezi o copie numarului initial. Cum ai putea afla prima cifra a numarului?" Acum mi-a trecut prin minte, daca il iau pe N, ii fac o copie in M si acea copie o impart cu rest la 10 pana N < 9, asa as putea sa aflu prima cifra a lui N, nu?O sa fac acum un cod sa vad daca e buna varianta |
#25
Posted 30 January 2021 - 13:21
cata2472, on 30 ianuarie 2021 - 13:16, said:
Pai citind cerinta problemei m-am gandit ca am 2 probleme mici de rezolvat ca sa o rezolv problema, prima problema era sa fac in asa fel incat sa iau prima cifra din N. A dooua problema era sa calculez prima cifra a lui N cu toate celelalte cifre din N. Asa am gandit eu prima data cand am citit problema, chestia era ca nu stiam nici cum sa iau prima cifra din N si nici cum sa calculez dupa cu fiecare cifra ramasa din N. Pai a doua problema tine doar de divizori. In codul pus de mine ai doua instructini while oare ce rezolva prima, si ce rezovea a doua ? Quote trebuia sa fac oglinditul si dupa sa il impart pe N la 10 si rezultatul sa il impart cu oglinditul lui si sa vad daca imi da 0 eu unul nu inteleg logica de a parcurge toate cifrele numarului pentru a le oglindi, apoi le parcurgi inca o data pentru a verifica divizibilitatea eu am facut fara oglindit, si fara a creea o copie a numarului n-am sa inteleg de unde "obligatiile" cu trebuie ... intradevar se poate dar ca o tema eu iti propun sa o rezolvi folosind o histograma, te vei interesa ce este aia. Edited by MarianG, 30 January 2021 - 13:28. |
#26
Posted 30 January 2021 - 13:25
MarianG, on 30 ianuarie 2021 - 13:21, said:
Corect sunt doua probleme, le rezolvi pas cu pas. Pai a doua problema tine doar de divizori. In codul pus de mine ai doua instructini while oare ce rezolva prima, si ce rezovea a doua ? |
#27
Posted 30 January 2021 - 13:44
Ce inseamna "Floating point exception (core dumped)". Am cautat pe internet dar nu am inteles de ce primesc aceasta eroare cand rulez codul.
|
#28
Posted 30 January 2021 - 14:55
Imparti la 0 pe undeva?
Ca sa aflii unde apare problema treci in debug mode, pune un breakpoint in while-loop ruleaza loop-ul pas cu pas, urmareste cum se schimba numarul/variabila executata si vezi cand apare problema. De-asemenea te poti ajuta si de cout, pune sa-ti printeze valoarea la fiecare loop, sa vezi ce numar incearca sa imparta.. |
|
#29
Posted 30 January 2021 - 14:59
cata2472, on 30 ianuarie 2021 - 13:25, said:
Iarta-ma dar nu pot intelege mai nimic din codul pe care mi l-ai prezentat tu, eu ceva mai complicat, eu inteleg doar ca ai declarat #include, ca ai acolo while, ca ai zic ceva de divizori, ca ai folosit if si ca l-ai declarat deja pe N, eu am luat codul tau si l-am pus in codeblocks si nu imi face nimic codeblocks ala e un schelet, tu trebuie sa completezi cu cod si sa-l faci sa ruleze, si sa-ti ofere rezultatul corect, respectand limitele cata2472, on 30 ianuarie 2021 - 13:25, said:
Iarta-ma dar nu pot intelege mai nimic din codul pe care mi l-ai prezentat tu, eu ceva mai complicat De ce te complici singur cu oglinzi si clone tot nu inteleg |
#30
Posted 30 January 2021 - 15:09
MarianG, on 30 ianuarie 2021 - 14:59, said:
ala e un schelet, tu trebuie sa completezi cu cod si sa-l faci sa ruleze, si sa-ti ofere rezultatul corect, respectand limitele De ce te complici singur cu oglinzi si clone tot nu inteleg cata2472, on 30 ianuarie 2021 - 15:08, said:
Pentru ca in alt fel nu stiu cum sa aflu prima cifra a lui N, singura optiune la care eu ma pot gandii de a face asta e de a il impartii pe N %10 pana cand N este mai mic decat 9 si atunci o sa fie prima cifra, alta optiune nu stiu |
#31
Posted 30 January 2021 - 15:09
cata2472, on 30 ianuarie 2021 - 15:09, said:
Pentru ca in alt fel nu stiu cum sa aflu prima cifra a lui N, singura optiune la care eu ma pot gandii de a face asta e de a il impartii pe N %10 pana cand N este mai mic decat 9 si atunci o sa fie prima cifra, alta optiune nu stiu |
#32
Posted 30 January 2021 - 15:11
MarianG, on 30 ianuarie 2021 - 15:09, said:
ok, arata-mi in cod chestia asta vj_Heaven, on 30 ianuarie 2021 - 14:55, said:
Imparti la 0 pe undeva? Ca sa aflii unde apare problema treci in debug mode, pune un breakpoint in while-loop ruleaza loop-ul pas cu pas, urmareste cum se schimba numarul/variabila executata si vezi cand apare problema. De-asemenea te poti ajuta si de cout, pune sa-ti printeze valoarea la fiecare loop, sa vezi ce numar incearca sa imparta.. |
#33
Posted 30 January 2021 - 15:13
|
#34
Posted 30 January 2021 - 15:16
dani.user, on 30 ianuarie 2021 - 15:13, said:
Ti-am dat video pe topicul celalalt. |
#35
Posted 30 January 2021 - 15:21
cata2472, on 30 ianuarie 2021 - 15:11, said:
Am facut o editare si am scris ca nu stiu cum sa il pun pe while sa se opreasca atunci cand N este mai mic decat 9 ca daca pun la conditia din while N < 9 nu o sa intre niciodata in while doar daca il am pe N dintr o singura cifra, ceea ce nu o sa se intample in problema nu te gandi "atunci", gandeste-te "cat timp", ca asta inseamna while while ( conditie )deci, care e conditia ? tu de ce vrei sa fie mai mic decat 9 ? Edited by MarianG, 30 January 2021 - 15:23. |
#36
Posted 30 January 2021 - 18:39
MarianG, on 30 ianuarie 2021 - 15:21, said:
nu te gandi "atunci", gandeste-te "cat timp", ca asta inseamna while while ( conditie )deci, care e conditia ? tu de ce vrei sa fie mai mic decat 9 ? while ( n >= 1 ) Dar problema mea este atunci cand N are prima cifra 0, si cu conditia aia tot nu imi respecta ceva, daca pun 02354 imi calculeaza pa 2 % N, mi l sare pe 0 si imi da raspuns 1 unde ar fii trebuit sa imi dea raspuns 0, aici nu ma descurc la faza asta Edited by cata2472, 30 January 2021 - 18:36. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users