Какое число будет выведено на экран в результате выполнения следующего фрагмента программы (предполагается, что все используемые переменные – целые числа)? a[1]: =7; for i: =2 to 10 do a[i]: =a[i-1]+3*i; writeln(a[4]);
Посчитать можно даже на листочке. Каждое следующее число есть предыдущее + 3*на порядковый номер.
a[n] можно выразить через a[1] как
a[n] = a[1] + 3 * (сумму от 2 до n)
a[4] = a[1] + 3 * (2 + 3 + 4)
a[4] = 7 + 3 * 9 = 27 + 7 = 34
Galiaahmatova4447
20.12.2020
Function leng(var x,y,x1,y1: real): real; begin leng:=sqrt(sqr(x-x1)+sqr(y-y1)); end;
// основная программа var x1,y1,x2,y2,x3,y3,p: real; begin write('координаты вершин x1 y1 x2 y2 x3 y3 через пробел: '); readln(x1,y1,x2,y2,x3,y3); if (leng(x2,y2,x1,y1) + leng(x3,y3,x2,y2) = leng(x3,y3,x1,y1)) or (leng(x2,y2,x1,y1) + leng(x3,y3,x1,y1) = leng(x3,y3,x2,y2)) or (leng(x3,y3,x2,y2) + leng(x3,y3,x1,y1) = leng(x2,y2,x1,y1)) then writeln('точки лежат на одной прямой') else begin p:=leng(x2,y2,x1,y1)+leng(x3,y3,x2,y2)+leng(x3,y3,x1,y1); writeln('периметр: ',p:7:3); end; end.
координаты вершин x1 y1 x2 y2 x3 y3 через пробел: 1 2 3 4 5 6 точки лежат на одной прямой
Vip2002www86
20.12.2020
#include <iostream> using namespace std;
void reduce(int* m, int* n) { int a,b,c; a=*m; b=*n; // НОД a b - алгоритм Евклида do { c=a%b; a=b; b=c; } while (b>0); *m/=a; *n/=a; }
int main() { int m,n; cout<<"input m n "; cin>>m>>n; cout<<m<<"/"<<n<<" = "; reduce(&m,&n); if (n>1) cout<<m<<"/"<<n<<endl; else cout<<m<<endl; system("pause"); return 0; }
Посчитать можно даже на листочке. Каждое следующее число есть предыдущее + 3*на порядковый номер.
a[n] можно выразить через a[1] как
a[n] = a[1] + 3 * (сумму от 2 до n)
a[4] = a[1] + 3 * (2 + 3 + 4)
a[4] = 7 + 3 * 9 = 27 + 7 = 34