Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lections / lection 4.doc
Скачиваний:
23
Добавлен:
19.03.2015
Размер:
161.28 Кб
Скачать

Реализация. Читаем число тестов. Для каждого теста читаем количество фермеров и данные про них, суммируем государственную помощь для каждого фермера в переменной sum и выводим результат.

scanf("%d",&tests);

while(tests--)

{

scanf("%d",&f);

sum = 0;

while(f--)

{

scanf("%d %d %d",&a,&b,&c);

sum += a * c;

}

printf("%d\n",sum);

}

Упражнение 2.5 [Вальядолид, 10302]. Суммирование полиномов. Значение суммы вычислим по формуле: 1 + 8 + 27 + ... + x3 = (1 + 2 + …. + x)2 = .

Пример. Для x = 3 имеем: 1 + 8 + 27 = (1 + 2 + 3)2 = 62 = 36, что верно.

Реализация. Поскольку X  50000, то вычисления следует проводить в 64-битных целых числах. Объявим переменные:

long long n,res;

Основной цикл программы состоит из чтения числа x, вычисления суммы по выше приведенной формуле и печати результата.

while(scanf("%lld",&n) == 1)

{

res = n * (n + 1) / 2;

res = res * res;

printf("%lld\n",res);

}

Упражнение 2.6 [Вальядолид, 10499]. Земля праведности. Стоимость целой сферы радиуса r равна площади ее полной поверхности 4r2. Площадь полной поверхности n долек равна площади полной поверхности сферы плюс n площадей кругов радиуса r: 4r2 + r2n.

Прибыль математика в процентах составит

= = 25n %

Заметим, что при n = 1 математик не получит прибыль, так как площадь покупаемой полной поверхности сферы равна площади продаваемой.

Пример. Рассмотрим случай n = 2. По выше приведенной формуле вычислим прибыль. Она равна 25 * 2 % = 50%.

Реализация. Поскольку n < 231, то значение 25n может быть больше 231. Вычисления следует производить с 64 - разрядными целыми числами (числами типа long long). Читаем входное значение n. Если оно равно 1, то прибыль составит 0 %, иначе 25n %.

long long n;

while (scanf("%lld",&n), n >= 0)

{

if (n == 1) printf("0%%\n");

else printf("%lld%%\n",25*n);

}

Упражнение 2.7 [Вальядолид, 11172]. Операторы сравнения. Для решения задачи достаточно читать и сравнивать пары чисел a и b, после чего выводить соответствующий символ операции сравнения.

Реализация. Читаем количество тестов tests. Для каждого теста читаем входные значения a и b. Сравниваем их и выводим соответствующий символ операции сравнения.

scanf("%d",&tests);

while(tests--)

{

scanf("%d %d",&a,&b);

if (a < b) printf("<\n"); else

if (a > b) printf(">\n"); else

printf("=\n");

}

Соседние файлы в папке Lections