Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
Factorii unui numar, oglinda unui numar
Last Updated: Mar 28 2022 14:12, Started by
Irbaa
, Mar 22 2022 14:54
·
0
#1
Posted 22 March 2022 - 14:54
Se da un nr natural citit de la tastatura. Sa se afiseze sub forma de text daca numarul si inversul sau este prim! daca nu sa se afiseze contrar , ex "este" sau "nu_este" . Ca restrictii, problema sa se rezolve doar cu if si while. Eu am ajuns in pctul asta .
#include <iostream> using namespace std; int main() { int a ; cin >> a; int a1 = a; int x = 0; while ( a > 0 ) { x = x * 10 + a % 10 ; a = a / 10; } int i = 2, este_prim = 1; while (i < a1) { if (a1 % i == 0) { este_prim = 0; } ++i; } if (a1 == 1) { este_prim = 0; } while (i < x) { if (x % i == 0) { este_prim = 0; } ++i; } if (x == 1) { este_prim = 0; } if (este_prim == 0) { cout << "nu_este"; } else { cout << "este"; } return 0; }Acuma,eu stiu ca nu e ok, fiindca conditia de afisare ar fii fost ca numarul citit si inversul sa fie ambele prime. Nu stiu cum sa leg conditia de amandoua. Edited by MarianG, 22 March 2022 - 22:43. |
#2
Posted 23 March 2022 - 20:43
Irbaa, on 22 martie 2022 - 14:54, said:
Se da un nr natural citit de la tastatura. Sa se afiseze sub forma de text daca numarul si inversul sau este prim! daca nu sa se afiseze contrar , ex "este" sau "nu_este" . Ca restrictii, problema sa se rezolve doar cu if si while. Eu am ajuns in pctul asta . asta e o problemă tâmpită pentru că a determina dacă un număr e prim sau nu e trivial. Devine foarte repede computational imposibilă dacă o iei pe bâjbâte. |
#3
Posted 23 March 2022 - 21:02
comentariile unde sunt?
Prima buclă while, de ce trebuie a>0? Când se termină bucla dacă a>0? Ce algoritm folosești să testezi dacă un număr e prim? Spune-l în cuvinte înainte să încerci să scrii codul. |
#4
Posted 23 March 2022 - 22:18
Cazuri speciale in care numarul si inversul sunt numere prime
2, 3, 5, 7 In rest, numerele prime au ultima cifra 1, 3, 7 sau 9 asadar poti sa elimi din start (de la prima cifra sau de la ultima cifra) daca sa determini inversul respectiv divizorii. |
#5
Posted 23 March 2022 - 22:45
Eu nu pricep nimic. Scrie domnule o functie pentru a determina daca un nr e prim sau nu pe care o apelezi cand ai nevoie. Si de ce trebuie sa mergi pana la nr ca sa vezi daca e prim, nu e suficient sa mergi pana la nr/2?
Edited by Powerup, 23 March 2022 - 22:48. |
#6
Posted 23 March 2022 - 23:43
e destul pana la radacina patrata, doar sunt enspe topicuri in care s-au prezentat diferite metode, unele mai in detaliu decat altele
poate o sa apara un profesor care sa le spuna altceva decat "doar IF si WHILE", dar mai precis "FARA abecedar" |
#7
Posted 25 March 2022 - 13:16
Da, am reusit sa o fac .
#include <iostream> using namespace std; int main() { int a; cin >> a; int a1 = a; int inverse = 0; while ( a != 0) { inverse = inverse * 10 + a % 10; a = a / 10; } int i = 2 , prim = 1; while ( i < a1) { if ( a1 % i == 0){ prim = 0; } ++i; } int i1 = 2 , prim1 = 1; while (i1 < inverse) { if ( inverse % i1 == 0) { prim1 = 0; } ++i1; } if (a1 == 1) { prim = 0 ; } if ( prim == 1 && prim1 == 1) { cout << "DA"; } else { cout << "NU"; } return 0; } Si "Dacul" , daca te referi de ce "while"-u care are ca , conditie de functionare a > 0 , unde am calculat inversul numarului, atunci fara sa te superi pe mine dar mai tampita e observatia ta decat problema. Fiindca acea conditie nu are nevoie decat sa existe pentru a intra in while ! Bucla se va sfarsi de indata ce nu se va mai putea imparti . Scuze pt dublu topic. Edited by Dany_Darke, 25 March 2022 - 16:11. |
#8
Posted 25 March 2022 - 14:11
Pasi urmatori de studiu/incercare:
|
#9
Posted 25 March 2022 - 15:59
Irbaa, on 25 martie 2022 - 13:16, said:
Si "Dacul" , daca te referi de ce "while"-u care are ca , conditie de functionare a > 0 , unde am calculat inversul numarului, atunci fara sa te superi pe mine dar mai tampita e observatia ta decat problema. Fiindca acea conditie nu are nevoie decat sa existe pentru a intra in while ! Bucla se va sfarsi de indata ce nu se va mai putea imparti . Irbaa, on 25 martie 2022 - 13:16, said:
Scuze pt dublu topic. Edited by MarianG, 25 March 2022 - 15:57. |
#10
Posted 25 March 2022 - 16:09
Poi,atata timp cat a > 0 vorbim de numere pozitive! Voiam sa zic ca bucla se va sfarsi cand a va ajunge a = 0. Sa presupunem ca a = 15 . Va intra in while , se va imparti cu 10 si a doua oara va intra in while 1, pe urma 0, nu? Iar 0 nu-i mai mare ca 0 si,deci bucla se sfarseste.
|
|
#11
Posted 25 March 2022 - 16:32
Ce a vrut sa evidentieze Dacul a fost ca nu stie ce vrei sa faci cand incepi bucla, de aia ai nevoie de comentarii care sa ghideze cititorul, nu neaparat ce face fiecare linie.
|
#13
Posted 25 March 2022 - 17:57
Iti ceri scuze dupa ce ne arati ca ai inteles.
Ce se intampla cand operatorul introduce zero, sau chiar un numar negativ ? |
#14
Posted 26 March 2022 - 13:52
Poi am luat in calcul e 0. Am pus sa afiseze ca e prim, fiindca asa mi-a cerut problma. Iar daca voi introduce un numar negativ imi va afisa de asemenea textul "DA" , adica este prim, orice numar as introduce! Probabil fiindca nu lucrez cu biblioteca potrivita,nustiu exact de ce.
|
#15
Posted 26 March 2022 - 16:43
Si e corect ?
0 si orice numar negativ sunt numere prime ? |
|
#16
Posted 28 March 2022 - 14:12
Poi in cazul asta , cand numarul este egal cu 0 atunci vom afisa "NU" . Iar dupa modifiicam putin conditia si adaugam "!= 0 " De ex, in timp ce "i" este mai mic decat a si diferit de 0 totodata.
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users