#include <QCoreApplication>
#include <bits/stdc++.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication ap(argc, argv);
FILE *fp, *fout;
long long a, b, c, m;
fp = fopen ("0","r+");
fscanf (fp, "%lld\n%lld\n%lld", &a, &b, &c);
fclose(fp);
long long sum = 2 * a + 3 * b + 4 * c;
long long cnt = a + b + c;
long long l = 0, r = cnt + 1;
// Алгоритм бинарного поиска
while (l < r)
{
m = (l + r) / 2;
if ((sum + 5.0 * m) / (cnt + m) < 3.5)
l = m + 1;
else
r = m;
}
fout = fopen ("0.a","w+");
fprintf (fout,"%lld",l);
fclose(fout);
return
Объяснение:
#include <QCoreApplication>
#include <bits/stdc++.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication ap(argc, argv);
FILE *fp, *fout;
long long a, b, c, m;
fp = fopen ("0","r+");
fscanf (fp, "%lld\n%lld\n%lld", &a, &b, &c);
fclose(fp);
long long sum = 2 * a + 3 * b + 4 * c;
long long cnt = a + b + c;
long long l = 0, r = cnt + 1;
// Алгоритм бинарного поиска
while (l < r)
{
m = (l + r) / 2;
if ((sum + 5.0 * m) / (cnt + m) < 3.5)
l = m + 1;
else
r = m;
}
fout = fopen ("0.a","w+");
fprintf (fout,"%lld",l);
fclose(fout);
return
Объяснение:
Поделитесь своими знаниями, ответьте на вопрос:
Что будет выведено на экране монитора после выполнения следующего фрагмента программы: var i, a, b: integer; begin b := 18; a := 8; repeat a := 2*a + 1; write( a); until (a>b) end.
ответ:первое значение а, то есть 8.
Объяснение:
Вообщем я так понимаю это приравнивается к циклу do while в c++ поэтому пойду по этой страте.
объявлем 3 целочисленные переменные;
Начало
присваеваем "b" значение 18;
присваеваем "a" значение 8;
присвеваем "a" произведение 2 и "a" и + 1;
вывод(а) на экран;
Если (a>b)
Конец.
1 цикл проходит и значение а становится 16+ 1 = 17. И всё ещё a < b цикл завершен.