Se citeşte de la tastatură un număr natural x mai mare decât 2. Sa se găsească p şi q numere prime astfel încât p<x<q, iar diferenta q-p este minima.
Analiza Programului
Cream o metoda cu ajutorul careia vom verifica toate numerele mai mici si mai mari decat x sunt prime. La sfarsit facem diferenta intre numerele prime gasite.
Rezolvarea in C#
using System; namespace Interval { class Program { static bool CheckPrimeNumber(int number) { //presupunem ca un numar este prim bool prime = true; //contor int i = 2; //verifica daca numarul este divizibil cu numerele cuprinse intre 2 si jumatatea lui while (i <= number/2) { //daca are divizor if (number % i == 0) prime = false; i += 1; } return prime; } static void Main(string[] args) { int p, q; bool prime; Console.WriteLine("Introduceti un numar mai mare decat 2"); int number = int.Parse(Console.ReadLine()); p = number; //verifica daca numerele mai mici decat x sunt prime do { p--; prime = CheckPrimeNumber(p); } while (prime); q = number; //verifica daca numerele mai mari decat x sunt prime do { p++; prime = CheckPrimeNumber(q); } while (prime); Console.Write("Solutia gasita: {0} < {1} < {2} ", p, number, q); Console.Write("iar {0} - {1} = {2}", q, p, q - p); } } }
Rezolvarea in C++
//the header conio, which include library functions for performing "console input and output" #include <conio.h> //the header iostream, which supports the C++ I/O system #include <iostream> //tells the compiler to use the std namespace using namespace std; bool CheckPrimeNumber(int number) { //assume the number is prime bool prime = true; //counter int i = 2; //check while(i <= number/2) { if(number % i == 0) prime = false; i += 1; } if(prime) return true; } //begin program execution int main() { int p, q, number; bool prime; cout<<"Introduceti un numar:"<<endl; cin>>number; p = number; do { p--; prime = CheckPrimeNumber(p); } while (prime); q = number; do { p++; prime = CheckPrimeNumber(q); } while (prime); cout<<"Solutia gasita "<<p<<" "<<number<<" "<<q<<endl; cout<<"iar "<<q<<"-"<<p<<"="<<q-p<<endl; cin>>number; return 0; }
Category: Uncategorized