program skype:van4es007;
var s,i,d,s1,d1,j:integer;
begin
s:=0;
s1:=0;
d:=0;
d1:=0;
for i:=144 to 1000 do
if (i mod 7 = 0) then begin
s1:=s1+1;
s:=s1*7
end;
for j:= 144 to 1000 do
If (j mod 11 = 0) then
begin
d1:=d1+1;
d:=d1*11
end;
{sum:=d+s;
sum1:=d1+s1;
writeln('общая сумма чисел ='sum); вроде не обязательно}
writeln('общее количество чисел ='sum1); это тоже,если надо то добавь sum и sum1 }
writeln('сумма чисел кртаных 7 =',s);
writeln('всего чисел кратных 7,в заданом промежутке =',s1);
writeln('сумма чисел кртаных 11 =',d);
writeln('всего чисел кратных 11,в заданом промежутке =',s);
readln;
end.
Формула Бине:
При работе с типом double имеет место быть некоторая погрешность. При больших числах относительная погрешность стремится к 0.
Код:
#include <iostream>#include <cmath>#define sqrt5 sqrt(5)#define (1 + sqrt5)/2#define n (1 - sqrt5)/2long long fibBinet(int n) { return (long long) round((pow(, n) - pow(n, n)) / sqrt5);}int main() { long long binet77 = fibBinet(77); std::cout << "fibBinet(77) = " << binet77 << " (5527939700884757)" << std::endl; std::cout << "A = " << abs(5527939700884757ll - binet77) << std::endl; std::cout << "B = " << 5527939700884757ll / binet77 << std::endl; return 0;}
var i,s,n:integer;
begin
for i:=144 to 1000 do if (i mod 7=0) or (i mod 11=0) then begin s:=s+i; n:=n+1; end;
writeln(s,' ',n);
end.