Форум программистов, компьютерный форум CyberForum.ru

Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем - C++

Восстановить пароль Регистрация
 
DioXide
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 60
10.04.2014, 14:55     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем #1
Дано натуральное число N. Выяснить, есть ли среди чисел i^3- 17*i*N^2+N^3 (i=1,2,...,N) хотя бы одно число, кратное двум и не кратное трем.
вот в общем надо написать, на C++ впервые пишу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 14:55     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем
Посмотрите здесь:

C++ Дан массив из N целых чисел. Выяснить имеется ли в массиве хотя бы одно нечетное отрицательное число и определить его местонахождение в массиве
Если среди элементов массива есть хотя бы одно число больше 100, то все элементы массива поделить на 100. C++
C++ Кратное число
C++ Выяснить, имеется ли среди чисел последовательности хотя бы одно число Фибоначчи
Определить, есть ли среди заданных целых чисел A, B, C, D хотя бы одно нечётное C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TenGen
Будущее рядом
 Аватар для TenGen
96 / 94 / 20
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 15:02     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем #2
DioXide,

Не по теме:

может вам лучше начать с простого hello world?



C++
1
2
3
4
5
for (int i = 1; i <= n; i++)
{
double temp = pow(i,3)-17*i*pow(n,2)+pow(n,3);
if (temp % 2 == 0 && temp % 3 != 0) cout << "Да вот же оно!" << endl;
}
DioXide
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 60
10.04.2014, 15:27  [ТС]     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем #3
в общем сделал, можешь проверить правильность?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <iomanip>
#include<stdio.h>
#include<math.h>
main()
{
int i,N;
double x;
do
{
      cout>>("vvedite n:")>>endl;
    cin<<("%d",&N);
 
}
for (int i = 1; i <= n; i++)
{
double temp = pow(i,3)-17*i*pow(n,2)+pow(n,3);
if (temp % 2 == 0 && temp % 3 != 0) cout << "otvet:" << endl;
}
return;
}
TenGen
Будущее рядом
 Аватар для TenGen
96 / 94 / 20
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 15:49     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем #4
DioXide, ошибки такие:

1) Не объявлен тип возвращаемого значения у функции main (желательно указать int)
2) Объявление переменной i в начале функции не нужно, она создается в цикле for.
3) do { } while не нужно.
4) Ввод переменной с клавиатуры неправильный, это видимо ты на основе scanf делал.
5) Стрелки у cout и cin перепутаны.
6) И осторожнее, N и n разные переменные

Исправленный вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <iomanip>
#include<stdio.h>
#include<math.h>
using namespace std;
int main(int argc, char *argv[])
{
int n;
cout << "vvedite n:" << endl;
cin >> n;
for (int i = 1; i <= n; i++)
{
double temp = pow(i,3)-17*i*pow(n,2)+pow(n,3);
if (temp % 2 == 0 && temp % 3 != 0) cout << "otvet:" << i << endl;
}
system("pause"); //просто добавляем паузу, что бы окно не закрылось после окончания программы
return 0;
}
DioXide
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 60
10.04.2014, 16:22  [ТС]     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем #5
в общем начал компилировать выдает ошибку на этот операнд % 2, что это могло бы быть?
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
10.04.2014, 16:28     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем #6
Цитата Сообщение от DioXide Посмотреть сообщение
что это могло бы быть
C++
1
int temp = i*i-17*i*n*n+n*n*n;
TenGen
Будущее рядом
 Аватар для TenGen
96 / 94 / 20
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 16:29     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем #7
DioXide, моя ошибка, % работает только с типом int, а мы кормим ему вещественное число. Тогда у нас будет так
C++
1
2
3
4
5
for (int i = 1; i <= n; i++)
{
double temp = pow(i,3)-17*i*pow(n,2)+pow(n,3);
if (((temp/2)-(int)(temp/2)) == 0 && ((temp/3)-(int)(temp/3)) != 0) cout << "otvet:" << i << endl;
}
вроде должно работать правильно :-) из меня математик неважный

Хотя я тут посмотрел, наверно можно просто поменять тип переменной temp на int. Там же не получается значений с плавающей точкой?
DioXide
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 60
10.04.2014, 16:34  [ТС]     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем #8
Цитата Сообщение от zss Посмотреть сообщение
1
int temp = i*i-17*i*n*n+n*n*n;
там у меня формула другая
C++
1
pow(i,3)-17*i*pow(n,2)+pow(n,3);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 16:40     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем
Еще ссылки по теме:

Определить, есть ли в строке(string) хотя бы одно число и определить есть ли в тексте хотя бы два числа. C++
C++ Есть ли среди чисел хотя бы одно, кратное двум и не кратное трем.
C++ Определить, есть ли в последовательности хотя бы одно число, кратное 7

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
10.04.2014, 16:40     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем #9
Цитата Сообщение от DioXide Посмотреть сообщение
там у меня формула другая
Задачу надо решать в целых числах, pow работает с действительными,
pow(i,3) Это i*i*i
Прошу прощения, опечатался.
Yandex
Объявления
10.04.2014, 16:40     Выяснить, есть ли среди чисел i^3 - 17*i*N^2+N^3 (i=1,...,N) хотя бы одно число, кратное двум и не кратное трем
Ответ Создать тему
Опции темы

Текущее время: 02:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru