Bine aţi venit pe Scientia QA!
Pentru a putea publica întrebări şi răspunsuri, trebuie să vă înregistraţi.
Atenţie! Este posibil ca e-mailul de confirmare a înregistrării să intre în Spam.
Pune o întrebare

Newsletter


3.5k intrebari

6.7k raspunsuri

15.2k comentarii

2.2k utilizatori

0 plusuri 0 minusuri
298 vizualizari
Cum aflaţi toate numerele de trei cifre divizibile cu 11 cu proprietatea că dacă permutăm între ele, fie primele două cifre, fie ultimele două cifre, obţinem numere prime ( din 3 cifre)?
Experimentat (4.8k puncte) in categoria Matematica
0 0
stiam ca a mai fost problema asta si am gasit acolo acuma programelul lui adijapan:D

Nu comentati pe programul meu:)) e in c++ eu nu am lucrat niciodata in c++ serios dar ma pricep .Inca am dificultati pe sintaxa si multe altele.
0 0
În ulltima vreme le cam zăpăcesc. Scuze pentru repetare.

1 Raspuns

1 plus 0 minusuri
Asta e problema de calculator.Cel mai corect le citesti intr-un fisier.

un program mai avansat ar fi sa definesti o functie p(x) care sa dea valoare de adevar pentru numere prime.

Pe un ciclu de for preferabil se verifica pentru numerele permutate daca sunt prime si se scriu in fisier daca au valoarea true.

Pentru permutarea cifrelor unui numar de 3 cifre se face cam asa:

Se scrie N=N%10 +[N/10]%10*100+[N/100]*10 //aici se permuta primele 2 cifre % este restul la impartirea cu 10 deci N%10 da ultima cifra si [ ] e partea intreaga.

Edit:

Am realizat acel progam si am rezolvat prima parte permutand primele 2 am primit urmatorul rezultat:

211;29;523;139;431;47;541;743;157;359;853;761;83;487;193;

e copy paste exact cum le am scris in fisier.apare pe acolo si de 2 cifre din cauza lui 0 eliminam 29 47 si 83 si avem o parte de solutii.

si cu permutand ultimile 2 avem :

101;167;257;347;571;593;661;683;617;751;773;863;953;997;

am sa prezint si programul pentru cei curiosi:

#include <iostream>
#include <math.h>
#include <fstream>
using namespace std;
int prim(int n,int i)
{
    if (i==1) return 1;
    else return (n%i!=0) && prim(n,i-1);}
    int main()
   {

    int j,n;
    ofstream f("date.out");

        for (j=10;j<91;j++)
       {

        n=11*j;
         n=n%10*10+n/10%10+(n/100)*100;
        if (prim(n,sqrt(n))) f<<n && f<<";";}
        f.close();
        return 0;

    }
Experimentat (2.3k puncte)
editat de
...