English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ecco un esempio di come controllare se un numero può essere rappresentato come somma di due numeri primi.
#include <iostream> using namespace std; int func(int num) { int i; int flag = 1; for(i = 2; i <= num/2; ++i) { if(num % i == 0) { flag = 0; break; } } return flag; } int main() { int num, i; cout << "Inserisci un numero : \n"; cin >> num; for(i = 2; i <= num/2; ++i) { if (func(i)) { if (func(num - i)) { cout << num << " = " << i << " + " << num-i << endl; } } } return 0; }
Risultato di output
Inserisci un numero : 18 18 = 5 + 13 18 = 7 + 11
Nella funzione menzionata sopra,func()
Stà controllando se il numero è un numero primo.
int func(int num) { int i; int flag = 1; for(i = 2; i <= num/2; ++i) { if(num % i == 0) { flag = 0; break; } } return flag; }
In questomain()
Nel metodo, l'utente inserisce un numero. Stà calcolando il numero come somma di due numeri primi.
cout << "Inserisci un numero : \n"; cin >> num; for(i = 2; i <= num/2; ++i) { if (func(i)) { if (func(num - i)) { cout << num << " = " << i << " + " << num-i << endl; } } }