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

Распечатать все числа от 1 до N - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 41, средняя оценка - 4.76
loi12
Сообщений: n/a
01.04.2012, 22:34     Распечатать все числа от 1 до N #1
Привет всем, помощь нужна, помогите написать.

1. Распечатать все числа от 1 до N, у которых первая и вторая цифра справа равны числу M.
2. Распечатать квадраты всех нечетных чисел от 1 до N, вторая цифра справа которых четна
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 22:34     Распечатать все числа от 1 до N
Посмотрите здесь:

Диапазон положительных чисел задан нижней и верхней границами. Распечатать все простые числа, лежащие в указанном диапазоне. C++
Распечатать все числа от 1 до N, у которых остатки от деления на число Z не превышают числа M. C++
Строка: Распечатать на экране по отдельности все цифры заданного числа. C++
Для указанного года распечатать все числа, попадающие на воскресенье C++
Дано вещественное число B>0. Последовательность чисел образуется по правилу: a0=1, ai+1=ai2+1. Распечатать все числа ai такие , что ai<B C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rengen
3 / 3 / 0
Регистрация: 15.01.2012
Сообщений: 67
01.04.2012, 22:40     Распечатать все числа от 1 до N #2
"Распечатать" в смысле на принтер вывести или все же на монитор?
loi12
Сообщений: n/a
01.04.2012, 22:43     Распечатать все числа от 1 до N #3
нужны программы с этим условием, что бы это все выводилось на экран)
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
01.04.2012, 22:44     Распечатать все числа от 1 до N #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    const int n(500);
    const int m(2);
    int i, subM = m * 11;
 
    std::cout << "Task 1:" << std::endl;
    for (i = 10; i < n; ++i)
        if (i % 100 == subM)
            std::cout << i << ' ';
 
    std::cout << "\nTask 2:" << std::endl;
    for (i = 11; i < n; i += 2)
        if (!(i / 10 % 10 & 1))
            std::cout << i << ' ';
    return 0;
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
01.04.2012, 22:47     Распечатать все числа от 1 до N #5
Цитата Сообщение от loi12 Посмотреть сообщение
Привет всем, помощь нужна, помогите написать.

1. Распечатать все числа от 1 до N, у которых первая и вторая цифра справа равны числу M.
2. Распечатать квадраты всех нечетных чисел от 1 до N, вторая цифра справа которых четна
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main(){
 int n, m;
 cout>>"Enter 2 numbers: ";
 cin<<n;
 cin<<m;
 int digits=11*m;
 cout<<digits<<" ";
 int result=0;
 int i=0, coeff=10;
 while(result<n){
  result=digits*coeff+i;
  cout<<result<<" ";
  i++;
  if (i==10){
    coeff*=10;
    i=0;
  }
 }
 return 0;
}
Вот это эффективное решение первой задачи (я надеюсь).
for (i = 10; i < n; ++i)
if (i % 100 == subM)
std::cout << i << ' ';
Вот это неверно, т.к. здесь проверяются последние две цифры. (Кстати числа с последними двумя цифрами на порядок проще найти как i*100+subM)
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
01.04.2012, 23:10     Распечатать все числа от 1 до N #6
Kuzia domovenok, читаем задание:
Цитата Сообщение от loi12 Посмотреть сообщение
которых первая и вторая цифра справа равны числу M
Из постановки задания следует, что "первая и вторая цифра справа" равны.
"первая и вторая цифра справа" для числа 122 какие? 2 и 2
Если число m = 2, то subM = 22. 122%100 = 22 == subM
Что не так?

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
(Кстати числа с последними двумя цифрами на порядок проще найти как i*100+subM)
тогда еще проще
C++
1
2
3
4
int n = 500, subN = n / pow(10, (int) log10(n));
int m = 2, subM = m * 11;
for (int i = 0; i < subN; ++i)
    std::cout << i << subM << std::endl;

Не по теме:

я уже и не говорю про ввод/вывод из потока в 5-7 строках



Kuzia domovenok, и да, я так и не понял, что именно делает ваш код и что надо вводить?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2012, 23:15     Распечатать все числа от 1 до N
Еще ссылки по теме:

C++ Написать рекурсивную функцию, которая вначале печатает все отрицательные числа, а затем все положительные числа
Распечатать все палиндромы с++ C++
Распечатать числа в диапазоне C++

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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
01.04.2012, 23:15     Распечатать все числа от 1 до N #7
Ой, простите все. чего-то совсем жёстко тупить стал. Сделал поиск чисел с двумя равными цифрами слева, а не справа. "оптимизатор", блин.
По теме:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream> 
int main()
{
    const int n(500);
    const int m(2);
    int i, subM = m * 11;
    int result;
    std::cout << "Task 1:" << std::endl;
    for (i = 0; i < n-subM; i=i+100)
            std::cout << i+subM<< ' ';
    std::cout << "\nTask 2:" << std::endl;
    for (i = 20; i < n; i += 20){
          for(j=1; j<10; j+=2)
            std::cout << i+j << ' ';
     }
    return 0;
}
Ещё раз дико извиняюсь за предыдущий пост.

Добавлено через 1 минуту
Цитата Сообщение от M128K145 Посмотреть сообщение
Из постановки задания следует, что "первая и вторая цифра справа" равны.
"первая и вторая цифра справа" для числа 122 какие? 2 и 2
Если число m = 2, то subM = 22. 122%100 = 22 == subM
Что не так?
Да да, я сам это поздновато понял, извиняюсь перед всеми.
Yandex
Объявления
01.04.2012, 23:15     Распечатать все числа от 1 до N
Ответ Создать тему
Опции темы

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