Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cuțit/ briceag drumetie

Cum am acces la o parte dintr-un ...

Mother's Day

Recomandare aparat de vidat alime...
 Izolatie exterioara casa parter P...

Cuvinte si expresii neclare

Mod de lucru Purmo Tempco Digital...

Samsung S90C vs LG C3
 Problema sunet RCS

Amortizor sertare bucatarie

Codrea Pallady

Blocurile goale! Orase in car...
 Motorul pe benzina 1.0 SCe65

Mostenire In 1986

Lentile sferica pentru astigmatism

Problema inlocuire usa spate A6 C...
 

[C++] cifra [...] este divizor al (n.m. altei) cifre [...]

* * * * * 1 votes
  • Please log in to reply
115 replies to this topic

#19
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,473
  • Înscris: 10.08.2005
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
cata2472

cata2472

    Junior Member

  • Grup: Junior Members
  • Posts: 155
  • Înscris: 18.08.2020

View PostFriskey, on 29 ianuarie 2021 - 14:52, said:

Ai rezolvat problema de aseara de ai trecut la alta?
Da, am rezolvat, am ajuns la asta

@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.
quote inutil


#21
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,473
  • Înscris: 10.08.2005
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
cata2472

cata2472

    Junior Member

  • Grup: Junior Members
  • Posts: 155
  • Înscris: 18.08.2020

View PostMarianG, 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.
Ideea e ca eu am platit niste bani a sa fac scoala asta si iti dai seama ca nici mie n imi place cand iau probleme deja facute de pe internet si sa iau 100 de puncte si sa nu raman cu nimic in cap, eu de fiecare data cand iau o problema facuta de pe internet in cazu in care nu stiu eu sa o rezolv singur, inainte sa o trimit eu o analizez, imi fac calcule, m-au invatat cum sa fac debug singur si iau foaia si pixu si incep sa fac pe caiet ce se intampla cu acele numere, da chiar daca fac asta nu e ca imi raman multe chestii in cap, adica doar ajung la rezultatele finale corecte ale problemei, nu stiu in multe cazuri cum sa scriu si ce sa scriu in acel while...

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
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,473
  • Înscris: 10.08.2005
bine, lasa codul deoparte si spune in cuvinte cum ai gandit rezolvarea

#24
cata2472

cata2472

    Junior Member

  • Grup: Junior Members
  • Posts: 155
  • Înscris: 18.08.2020

View PostMarianG, on 30 ianuarie 2021 - 13:06, said:

bine, lasa codul deoparte si spune in cuvinte cum ai gandit rezolvarea
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

View Postcata2472, 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
Nu merge, imi da 0 pentru orice calcul.

#25
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,473
  • Înscris: 10.08.2005

View Postcata2472, 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.
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 ?

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
nu stiu unde ai vazut ca trebuie folosit oglinditul si nici n-are importanta, dar incearca sa gandsti de ce faci un lucru
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
cata2472

cata2472

    Junior Member

  • Grup: Junior Members
  • Posts: 155
  • Înscris: 18.08.2020

View PostMarianG, 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 ?
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

#27
cata2472

cata2472

    Junior Member

  • Grup: Junior Members
  • Posts: 155
  • Înscris: 18.08.2020
Ce inseamna "Floating point exception (core dumped)". Am cautat pe internet dar nu am inteles de ce primesc aceasta eroare cand rulez codul.

#28
vj_Heaven

vj_Heaven

    Senior Member

  • Grup: Senior Members
  • Posts: 3,062
  • Înscris: 19.07.2005
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
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,473
  • Înscris: 10.08.2005

View Postcata2472, 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

View Postcata2472, 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
cata2472

cata2472

    Junior Member

  • Grup: Junior Members
  • Posts: 155
  • Înscris: 18.08.2020

View PostMarianG, 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
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

View Postcata2472, 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
Dar si asa in conditiile astea nu stiu cum sa il scriu pe N ca while sa se opreasca cand N este mai mic decat 9

#31
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,473
  • Înscris: 10.08.2005

View Postcata2472, 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
ok, arata-mi in cod chestia asta

#32
cata2472

cata2472

    Junior Member

  • Grup: Junior Members
  • Posts: 155
  • Înscris: 18.08.2020

View PostMarianG, on 30 ianuarie 2021 - 15:09, said:

ok, arata-mi in cod chestia asta
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

View Postvj_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..
Pai nu stiu cum sa intru in debug mode

#33
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,252
  • Înscris: 24.02.2007

View Postcata2472, on 30 ianuarie 2021 - 15:11, said:

Pai nu stiu cum sa intru in debug mode
Ti-am dat video pe topicul celalalt.

#34
cata2472

cata2472

    Junior Member

  • Grup: Junior Members
  • Posts: 155
  • Înscris: 18.08.2020

View Postdani.user, on 30 ianuarie 2021 - 15:13, said:

Ti-am dat video pe topicul celalalt.
M-am uitat la el da mi se blocheaza calculatorul cand intru in acel program de scris coduri, nu inteleg de ce. Am un laptop nou de vreo saptamana cu i5 gen 10 si cu gtx 1650 ti si imi face figuri si la compilatorul c++ online, si in codeblocks, scriu codurile si cand dau drumu la program eu apas pe tastatura si apare cifra dupa  4 5 secunde, in acel visua studio mi se blocheaza direct. Aveam un laptop inainte de la lenovo cu intel celeorn si nu aveam problema in coeblocks pe care o am cu asta, alt mod nu exista de a face debug?Ca laptopul vechi i l-am dat unei persoane care e la liceu si nu are parinti si avea nevoie de laptop

#35
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,473
  • Înscris: 10.08.2005

View Postcata2472, 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
cata2472

cata2472

    Junior Member

  • Grup: Junior Members
  • Posts: 155
  • Înscris: 18.08.2020

View PostMarianG, 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 ?
Pai zice ca daca N are 2 cifre prima trebuie sa fie diferita de 0 deci trebuie sa pun
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

Neurochirurgie minim invazivă 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

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate