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

Написать функцию SUM (int M, int N) / С++ для начинающих - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти разность суммы положительных и произведения отрицательных чисел массива http://www.cyberforum.ru/cpp-beginners/thread1112907.html
Найти разность суммы положительных и произведения отрицательных чисел массиванапишите программу,пожалуйста)))
C++ Вроде простой код, но съедает 1,5 гб оперативы, как это исправить? вроде простой код, но съедает 1,5 гб оперативы, как это исправить? #include <iostream> int M = 20000; float **A; int main(void){ A = new float*; for ( int i = 0; i < M; ++i ) ... http://www.cyberforum.ru/cpp-beginners/thread1112906.html
Найти произведение положительных кратных 3 элементов C++
Найти произведение положительных кратных 3 элементов
Найти количество отрицательных элементов, находящихся на побочной диагонали C++
Найти количество отрицательных элементов, находящихся на побочной диагонали))))помогите,пожалуйста:cry:
C++ Ввести две строки символов A и B. Создать строку С следующим образом С1 = A1, C2 = В1, С3 = А2, С4 = В2 http://www.cyberforum.ru/cpp-beginners/thread1112895.html
Ввести две строки символов A и B. Создать строку С следующим образом С1 = A1, C2 = В1, С3 = А2, С4 = В2 То есть,если A=1234 B=5678,то С=15263748
C++ Матрица.В матрице A(6; 6) найти произведение суммы четных чисел в 3-ей строке и суммы отрицательных чисел 1-го столбца В матрице A(6; 6) найти произведение суммы четных чисел в 3-ей строке и суммы отрицательных чисел 1-го столбца:cry: подробнее

Показать сообщение отдельно
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,081
07.03.2014, 16:16
Цитата Сообщение от GuGo1991 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
int SUM(int M, int N)
{
 int sum = 0;
   for(; M <= N; M++)
     if(!(M % 3) || !(M % 9))
     sum += M;
return sum;
}
слишком много пустых проходов
C++
1
if(!(M % 3) || !(M % 9))
вторая проверка бессмысленна если кратна 3 то и кратна 9

вот так будет побыстрее
C++
1
2
3
4
5
6
7
8
9
10
int SUM(int M,int N)
{
int sum=0;
while(M%3)// догоняем до кратного 3
  M++;
for(;M<=N;M+=3)
  sum+=M;
 
return sum;
}
если кратна трем но не кратна девяти( что то мне подсказывает что так и должно звучать)
C++
1
2
3
4
5
6
7
8
9
10
11
int SUM(int M,int N)
{
int sum=0;
while(M%3)// догоняем до кратного 3
  M++;
for(;M<=N;M+=3)
  if(M%9)
     sum+=M;
 
return sum;
}
Добавлено через 1 минуту
Цитата Сообщение от go Посмотреть сообщение
В идеале так не пишут. Тут нужна как минимум проверка еще этого диапозона.
в смысле?
какого диапазона?
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru