|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Задача "Проверь себя"!(с++)
You are given an positive integer number n. Count the amount of the lucky and almost lucky numbers
from one until n (inclusive). The number is considered to be lucky if it is divided to 7 without a remainder. The number is considered to be almost lucky if it is divided to 7 with a remainder of 2. Count the amount of the lucky and almost lucky numbers from one until n (inclusive) !!! Вам дается положительное целое число n. Подсчитайте количество удачливых и почти счастливых номеров от одного до n (включительно). Число считается удачным, если оно делится на 7 без остатка. Число считается почти счастливым, если оно разделено на 7 с остатком 2. Подсчитайте количество удачливых и почти счастливых чисел от одного до n (включительно) !!! Input1: 10 Input2: 7 Input 3: 1 Output1: 3 Output2: 2 Output3: 0 |
#2
|
||||
|
||||
Код:
Procedure HappyNumbers(n:DWORD; var HN:DWORD; var AHN:DWORD); var i:DWORD; begin HN:=0; AHN:=0; for i := 1 to n do begin if i mod 7 = 0 then inc(HN); if i mod 7 = 2 then inc(AHN); end; end; 11011111 INED Home code VK |
#3
|
||||
|
||||
Или так
Код:
Procedure HappyNumbers(n:DWORD; var HN:DWORD; var AHN:DWORD); begin HN:= n div 7; AHN:= HN; if n mod 7 >= 2 then inc(AHN); end; 11011111 INED Home code VK |
#4
|
|||
|
|||
Эта задачка явно на соображаловку. Т.е. тупо полным перебором ее решать можно, но не зачетно. Тут надо придумать эвристику.
Например, счастливые номера - те, которые делятся на 7 без остатка. Пишем ряд: 7, 14, 21, 28, 35, ... Т.е. кол-во счастливых номеров от 1 до N должно быть N/7, если ничего не путаю (здесь "/" - это будет целочисленное деление). С почти счастливыми надо подумать, но что-то мне подсказывает, что его можно высчитать из кол-ва счастливых. Что-то типа if (N % 7 < 2) AH = N/7 - 1 else AH = N/7; (здесь "%" - это остаток от деления, С/С++ все ж) Последний раз редактировалось lmikle, 16.11.2018 в 04:15. |