Треугольники Для формирования изображения в компьютерной графике используются простейшие поверхности в виде треугольника. В зависимости от уровня требуемой детализации и сложности поверхности каждый треугольник может быть разделен еще на четыре треугольника и этот процесс может повторятся многократно. На рисунке ниже показан пример такого разделения для уровня детализации n = 0, 1 и 2
Необходимо вычислить количество красных треугольников для заданного уровня детализации n.
Input format
В первой строке задано одно целое число n (0 ≤ n ≤ 1018) – уровень детализации.
Output format
Выведите одно число – остаток от деления количества красных треугольников на (109 + 7) для заданного уровня детализации n.
(данную задачу нужно запрограммировать на языке с++. я запрограммировала, но при тестировании выдает ошибку) #include #include using namespace std; typedef unsigned long long ul;
ul modexp(ul x, ul y, ul N) { if (y == 0) return 1; ul z = modexp(x, y / 2, N); if (y % 2 == 0) return (z*z) % N; else return (x*z*z) % N; }
int main() { ul n, res; cin >> n;
ul levels = n*2; res = (((1+levels)*levels))/2; res = modexp(res, 1, pow(10,9) + 7); cout << res<}
Если в первом примере y=x^2( X в квадрате), то программа будет выглядеть следующим образом: Program pr1; var y,x:real; begin writeln('Введите значение x'); readln(x); y:=sqr(x); writeln('ответ:', y); end.
Если же у тебя в первом функция y=x*2 ( X умножить на 2), то программа будет выглядеть так:
Program pr1; var y,x:real; begin writeln('Введите значение x'); readln(x); y:=x*2; writeln('ответ:', y); end.
2. Program pr2; var a,b,S:real; begin writeln('Введите сторону a'); readln(a); writeln('Введите сторону b'); readln(b);S:=a*b; writeln('ответ:', S); end.
Если в первом примере y=x^2( X в квадрате), то программа будет выглядеть следующим образом: Program pr1; var y,x:real; begin writeln('Введите значение x'); readln(x); y:=sqr(x); writeln('ответ:', y); end.
Если же у тебя в первом функция y=x*2 ( X умножить на 2), то программа будет выглядеть так:
Program pr1; var y,x:real; begin writeln('Введите значение x'); readln(x); y:=x*2; writeln('ответ:', y); end.
2. Program pr2; var a,b,S:real; begin writeln('Введите сторону a'); readln(a); writeln('Введите сторону b'); readln(b);S:=a*b; writeln('ответ:', S); end.
var y,x:real;
begin
writeln('Введите значение x');
readln(x);
y:=sqr(x);
writeln('ответ:', y);
end.
Если же у тебя в первом функция y=x*2 ( X умножить на 2), то программа будет выглядеть так:
Program pr1;
var y,x:real;
begin
writeln('Введите значение x');
readln(x);
y:=x*2;
writeln('ответ:', y);
end.
2. Program pr2;
var a,b,S:real;
begin
writeln('Введите сторону a');
readln(a);
writeln('Введите сторону b');
readln(b);S:=a*b;
writeln('ответ:', S);
end.
var y,x:real;
begin
writeln('Введите значение x');
readln(x);
y:=sqr(x);
writeln('ответ:', y);
end.
Если же у тебя в первом функция y=x*2 ( X умножить на 2), то программа будет выглядеть так:
Program pr1;
var y,x:real;
begin
writeln('Введите значение x');
readln(x);
y:=x*2;
writeln('ответ:', y);
end.
2. Program pr2;
var a,b,S:real;
begin
writeln('Введите сторону a');
readln(a);
writeln('Введите сторону b');
readln(b);S:=a*b;
writeln('ответ:', S);
end.