Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Задача H: Какое число встречается в массиве наиб. число раз.

Задача А.

Сравнить два числа.

Формат входных данных

В строке последовательно вводятся два числа, которые нужно сравнить.

Формат выходных данных

Необходимо вывести 1 - первое число больше второго, 2 - второе число больше первого, 0 - числа равны.

Примеры

Ввод Вывод
 1 1 0

 

Ввод Вывод
-3 10 2

 

L = input().split()
a = int(L[0])
b = int(L[1])
if(a>b):
print('1')
elif(b>a):
print('2')
else:
print('0')

#include <iostream>

using namespace std;
int main()
{
int a, b;
cin >> a >> b;
if (a>b) {
cout << 1;
return 0;}
if (a<b) {
cout << 2;
return 0;}
cout << 0;
return 0;
}

Задача B: Високосный год.

Требуется определить, является ли данный год високосным. (Год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400).

Формат входных данных

На вход подается натуральное число N - номер года (0 < N < 100000).

Формат выходных данных

Вывести YES если год високосный и NO в противном случае.

Примеры

Ввод Вывод
1 NO

 

Ввод Вывод
2000 YES

N = int(input()); answer = 'NO'
if (N%4==0)and(N%100!=0):
answer = 'YES'
if (N%400==0):
answer = 'YES'
print(answer)

#include <iostream>
#include <string>
using namespace std;
int main()
{
int N;
string answer = "NO";
cin >> N;
if ((N%4==0)&&(N%100!=0)) answer = "YES";
if (N%400==0) answer = "YES";
cout << answer;
return 0;
}

Задача C: Список квадратов.

По данному натуральному числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастания.

ВАЖНО! В данной задаче необходимо использовать цикл.

Формат входных данных

На вход программе передается целое число N, не превышающее 10000.

Формат выходных данных

Программа должна распечатать последовательность чисел в порядке возрастания. В качестве разделителя используется побел.

Примеры

Ввод Вывод
50 1 4 9 16 25 36 49

 

Ввод Вывод
16 1 4 9 16

 

N = int(input()); p = 1; b = 1;
while (b<N):
print(b,end=' ')
p+=1; b = b + 2*p – 1

#include <iostream>
using namespace std;
int main()
{
int N;
cin >> N;
int p = 1;
int b = 1;
while (b<N){
p++;
cout << b << " ";
b=b+2*p-1;
}
return 0;
}

Задача D: Точная степень двойки.

Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.

ВАЖНО! В данной задаче необходимо использовать цикл. В этой задаче нельзя использовать функцию pow. Инструкция if должна находиться после цикла.

Формат входных данных

На вход программе подается натуральное число N, не превышающее 10000.

Формат выходных данных

Программа печатает YES если число является точной степенью двойки, иначе NO.

Примеры

Ввод Вывод
8 YES

 

Ввод Вывод
3 NO

 

N = int(input()); answer = 'YES'
while(N>2):
if (N%2==1):
answer='NO'
N = N/2
print(answer)

#include <iostream>
#include <string>
using namespace std;
int main()
{
int N;
string answer = "YES";
cin >> N;
while (N>2) {
if (N%2==1) answer="NO";
N = N/2;
}
cout << answer;
return 0;

Задача E: Алгоритм Евклида.

Необходимо найти НОД двух чисел, используя алгоритм Евклида.

Формат входных данных

На вход подаются два натуральных числа, по числу в новой строке.

Формат выходных данных

Одно число - НОД входных чисел.

Примеры

Ввод Вывод
30 18 6

 

Ввод Вывод
1071 462 21

a, b = int(input()), int(input())
while (a!=b):
if (a>b):
a=a-b
else:
b=b-a
print(a)

#include <iostream>
using namespace std;
int main()
{
int a,b;
cin >> a >> b;
while (a!=b){
if (a>b) a = a - b;
else b = b - a;
}
cout << a;
return 0;
}

Задача F: Тест простоты числа.

Выяснить, является ли заданное число простым.

Формат входных данных

На вход подается натуральное число.

Формат выходных данных

Вывести 1 - число простое, 0 - число составное.

Примеры

Ввод Вывод
997 1

 

Ввод Вывод
5083 0

 

N = int(input()); answer = 1; q = 2

t = N**0.5
while(q<t):
if (N%q==0):
answer=0
q+=1
print(answer)

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int N;
cin >> N;
int ans = 1;
int q = 2;
int root = sqrt(N);
while (q<=root){
if (N%q==0) ans = 0;
q++;
};
cout << ans;
return 0;
}

Задача G: Поиск максимального четного числа в последовательности.

Последовательность состоит из натуральных чисел и завершается числом 0. Определите значение наибольшего четного элемента последовательности. Числа, следующие за нулем, считывать не нужно.

Формат входных данных

Последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит). Каждое число на новой строке.

Формат выходных данных

Одно число — максимальное четное число в последовательности, если четные числа в ней присутствуют, иначе - 0.

Примеры

Ввод Вывод
1 2 4 7 4 0 4
Ввод Вывод
1 3 5 0 0


N = 1; max = 0
while (N > 0):
N = int(input())
if (N%2==0):
if (max<N):
max = N
print(max)

#include <iostream>
using namespace std;
int main()
{
int max, N;
max = 0;
N = 1;
while (N!=0){
cin >> N;
if ((max<N)and(N%2==0)) max = N;
}
cout << max;
return 0;
}

Задача H: Какое число встречается в массиве наиб. число раз.

На вход программе подается массив чисел. Необходимо найти число, которое чаще всего встречается в массиве. Гарантируется, что такое число одно.

Формат входных данных

В первой строке задается число N, длина массива, далее идут N чисел -- элементы массива. Все числа больше 0 и меньше 100. Каждое число вводится с новой строки.

Формат выходных данных

Одно число, которое встречается наибольшее количество раз.

Примеры

Ввод Вывод
4 5 5 2 5 5

N = int(input());L = [0]*100; ans = 0;max = 0
for k in range(N):
M = int(input());L[M]+=1
for k in range(100):
if (max<L[k]):
max = L[k];ans = k
print(ans)

#include <iostream>
using namespace std;
int main()
{
int max, N, ans, x;int a[100]={ };

max = 0; ans = 0;cin >> N;
for (int k = 0; k<N; k++){
cin >> x; a[x]++;
}
for (int k = 0; k<100; k++){
if (max<a[k]) {
max = a[k]; ans = k;
}
}
cout << ans;
return 0;
}

Задача I: Кузнечик – математик.

Кузнечик стоит на прямой, поделенной на клетки, в 1-й клетке и собирается допрыгать до клетки номер n. В каждой клетке записано число. Кузнечик может прыгать вперёд либо на 1 клетку, либо на число клеток, записанное в текущей клетке. Сколько способов у кузнечика выполнить свою задачу?

Формат входных данных

В первой строке - число n < 10^4 Во второй - n чисел через пробел. Это числа, записанные в первых n клетках прямой.

Формат выходных данных

Одно число - остаток от результата при делении на 937.

Примеры

Ввод Вывод
21 1 1
Ввод Вывод
32 2 1 2


N = int(input()); L = input().split(); M = [0]*N
M[N-1]=1; M[N-2]=1
for k in range(N-3,-1,-1):
p = int(L[k])
if ((k+p)<N)and(p!=1):
M[k]=M[k+1]+M[k+p]
else:
M[k]=M[k+1]
print(M[0]%937)

#include <iostream>
using namespace std;
int main()
{
int N, x; cin >> N;
int a[10000]={ }; int schetchik[10000]={ };
schetchik[N-1]=1; schetchik[N-2]=1;
for (int k = 0; k<N; k++){
cin >> x; a[k]=x;
}
for (int k = N-3; k>=0; k--){
if ((k+a[k]<N)&&(a[k]!=1)) {
schetchik[k]=(schetchik[k+1]+schetchik[k+a[k]])%937;
} else schetchik[k] = schetchik[k+1];
}
cout << schetchik[0]%937;
return 0;
}



<== предыдущая лекция | следующая лекция ==>
Понятие развития в возрастной психологии | Климатическое исполнение и категория размещения У3
Поделиться с друзьями:


Дата добавления: 2018-10-14; Мы поможем в написании ваших работ!; просмотров: 824 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Люди избавились бы от половины своих неприятностей, если бы договорились о значении слов. © Рене Декарт
==> читать все изречения...

2496 - | 2296 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.