Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 4

Не используя функций определить члены последовательности, являющиеся квадратами четных чисел

02.01.2013, 11:50. Показов 1741. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны натуральные числа n, a[1],...,a[n]. Определить количество
членов a[k] последовательности a[1],...,a[n], являющихся квадра-
тами четных чисел. Не используя функций
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.01.2013, 11:50
Ответы с готовыми решениями:

Определить количество членов последовательности, являющиеся квадратами четных чисел
Помогите плиз до меня никак не допрет

Определить количество членов ak последовательности a1, a2, ... , an. являющиеся квадратами четных чисел
Даны натуральные числа n, a1, a2, ... , an. Определить количество членов ak последовательности a1, a2, ... , an. являющиеся квадратами...

Определить количество ak последовательности a1, a2,...,an являющихся квадратами четных чисел.
3. Даны натуральные числа n, a1, a2,...an. Определить количество ak последовательности a1, a2,...,an являющихся квадратами четных чисел. ...

7
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.01.2013, 17:37
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<iostream>
#include <math.h>
using namespace std;
int main(){
setlocale(0,"rus");
int sz=0;
int cnt=0;
cout<<"Введите количество членов последовательности натуральных чисел ";
cin>>sz;
cout <<endl;
int* SeqSourc=new int[sz];
int* TmpBuff=new int[sz];
cout<<"Введите члены последовательности натуральных чисел "<<endl;
for(int i=0; i<sz; i++){
cout<<i+1<<" ";
cin>>SeqSourc[i];
cout <<endl;
if(SeqSourc[i]<=0){
cout<<"Ввод "<<i+1<<"-того члена отменен введите "<<i+1<<"-й член ";
i--;
continue;
}
}
cout<<"Введены члены последовательности натуральных чисел "<<endl;
for(int i=0; i<sz; i++){
cout<<i+1<<" "<<SeqSourc[i]<<endl;
}
cout<<"Из них чётные:"<<endl;
for(int i=0; i<sz; i++){
if(!(SeqSourc[i]%2)){//член должен быть по крайней мере четным
cout<<SeqSourc[i]<<endl;
if(sqrt((double)SeqSourc[i])==(int)(sqrt((double)SeqSourc[i])))TmpBuff[cnt++]=SeqSourc[i];
}
}
cout<<"Найдено "<<cnt<<" членов последовательности натуральных чисел являющиеся полными квадратами чётных чисел:"<<endl;чётных чисел:"<<endl;
for(int i=0; i<cnt; i++)cout<<TmpBuff[i]<<"  ";
cout <<endl;
system ("pause");
return 0;
}


Добавлено через 7 минут
Цитата Сообщение от IGPIGP Посмотреть сообщение
C++
1
cout<<"Найдено "<<cnt<<" членов последовательности натуральных чисел являющиеся полными квадратами чётных чисел:"<<endl;чётных чисел:"<<endl;
Неправильно в последний момент скопипастилось. Хотелось как лучше, а вышло как всегда. Нужно:
C++
1
cout<<"Найдено "<<cnt<<" членов последовательности натуральных чисел являющиеся полными квадратами чётных чисел:"<<endl;
0
 Аватар для booker
24 / 24 / 5
Регистрация: 21.11.2012
Сообщений: 106
02.01.2013, 17:39
Цитата Сообщение от BITalik Посмотреть сообщение
Не используя функций
это как?

int main() уже функция
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.01.2013, 17:53
Цитата Сообщение от booker Посмотреть сообщение
это как?
int main() уже функция
Да, если строго, то совсем без функций, - никак. Без пользовательских наверное, имеется ввиду.
Даже если батник написать, будет вызывать команды командного процессора, API-функции... Нет, совсем без функции, - только на кубиках получится.
0
 Аватар для booker
24 / 24 / 5
Регистрация: 21.11.2012
Сообщений: 106
02.01.2013, 18:25
наверное BITalikу нужна формула

Добавлено через 24 минуты
а так
берём корень из a[k]
проверяем на четность
если sqrt(a[k]) нечётное то n = sqrt(a[k])-1
если sqrt(a[k]) чётное то n = sqrt(a[k])

потом цикл

C++
1
2
3
4
5
6
7
while(n>3)
{
n=n-2;
count++;
}
 
cout<<count;
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
02.01.2013, 19:16
А очевидное банальное решение никому в голову не приходит?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
 
int main()
{
    int n;
    unsigned *nums;
 
    std::cin >> n;
    nums = new unsigned[n];
 
    unsigned max = 0;
    for (int i = 0; i < n; i++) {
        std::cin >> nums[i];
        if (nums[i] > max) {
            max = nums[i];
        }
    }
 
    unsigned count = 0;
    // num * num может вызвать переполнение, ну да ладно
    for (unsigned num = 0; num * num < max; num += 2) {
        for (int i = 0; i < n; i++) {
            if (nums[i] == num * num) {
                count++;
            }
        }
    }
 
    std::cout << count;
 
    delete [] nums;
    return 0;
}
C вычислением корня, за один проход:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
 
int main()
{
    int n;
    unsigned *nums;
 
    std::cin >> n;
    nums = new unsigned[n];
    for (int i = 0; i < n; i++) {
        std::cin >> nums[i];
    }
 
    unsigned count = 0;
    for (int i = 0; i < n; ++i) {
        unsigned num   = nums[i];
        unsigned mover = 0x40000000;
        unsigned root  = 0;
        unsigned block;
        while (mover) {
            block = root | mover;
            root >>= 1;
            if (num >= block) {
                num -= block;
                root |= mover;
            }
            mover >>= 2;
        }
        if (root % 2 == 0 && (root * root) == nums[i]) {
            count++;
        }
    }
 
    std::cout << count;
 
    delete [] nums;
    return 0;
}
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
02.01.2013, 19:28
Цитата Сообщение от BITalik Посмотреть сообщение
Не используя функций
- интересно, какой методический смысл в подобных задачах?
0
 Аватар для booker
24 / 24 / 5
Регистрация: 21.11.2012
Сообщений: 106
02.01.2013, 20:30
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main(){
    int k;
    cin>>k;
    k=static_cast<int> (sqrt((double)k))/2;
    cout<<k;
    system("pause");
    return 0;
}
с функциями
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.01.2013, 20:30
Помогаю со студенческими работами здесь

Определить количество членов последовательности, являющихся квадратами четных чисел
Даны натуральные числа N, A1, …AN. Определить количество членов Ak последовательности А1, …AN, являющихся квадратами четных чисел....

Определить количество членов последовательности, являющихся квадратами четных чисел
Даны натуральные числа n, a1, a2, …, an. Определить количество членов ак последовательности а1, а2, …, аn являющихся квадратами четных...

Определить количество членов ак последовательности а1, а2, …, аn являющихся квадратами четных чисел
Даны натуральные числа n, a1, a2, …, an. Определить количество членов ак последовательности а1, а2, …, аn являющихся квадратами четных чисел

Определить количество членов последовательности, аn являющихся квадратами четных чисел
program pr1_9; uses crt; var mas: array of integer ; n,i,j,k: integer; begin clrscr; writeln('Bvedite kol elementov...

определить кол-во ak последовательности a1,..an, являющихся квадратами четных чисел.n и a1,..an-натур-ые
program P178v; {$APPTYPE CONSOLE} uses SysUtils; var n, k : Integer; i: Integer; A: array of Integer;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru