Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Коробейников
- Лаба 9
- Вариант-1.
- Дана последовательность натуральных чисел {Aj}j=1...n (n<=10000). Удалить из последовательности простые числа и продублировать составные числа, сумма цифр которых равна 15.
- */
- #include <iostream>
- #include <cmath>
- using namespace std;
- bool checked_prime(int a){
- if(a == 1) return false;
- for(int i = 2; i <= sqrt(a); i++){
- if(a % i == 0) return false;
- }
- return true;
- }
- bool checked_amount(int a){
- int sum = 0;
- while(a > 9){
- sum += a % 10;
- a /= 10;
- }
- sum += a;
- if(sum == 15)
- return true;
- else
- return false;
- }
- int main(){
- int n;
- cin >> n;
- pair<int, int> mas[n];
- for(int i = 0; i < n; i++){
- cin >> mas[i].first;
- mas[i].second = 0;
- if(checked_prime(mas[i].first)) mas[i].second = 1;
- if(checked_amount(mas[i].first)) mas[i].second = 2;
- }
- for(int i = 0; i < n; i++){
- switch(mas[i].second){
- case 2:
- cout << mas[i].first << " " << mas[i].first << " ";
- break;
- case 0:
- cout << mas[i].first << " ";
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement