Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- // косметические функции для упращения понимания кода
- double f1(int k);
- double f2(int k);
- // Хотя с точки производительности код:
- // #define f1(k) 1((double)k*k)
- // производительнее, но #define это bad practic
- int main(){
- double x, ans=0; // создание переменных x и answer
- int k,n; // создание целочисленных переменных k и n
- scanf("%d%lf",&n,&x); // инициализация переменных n и x
- // План работы таков: разбить формулу на 3 части и считать ее частями
- ans+=3*x; // 1 часть формулы
- double s=0; // создание вещественной переменной для хранения суммы
- for(k=1;k<=n;++k){
- ans+=f1(k); // считаем и сразу записываем в ответ
- }
- for(k=1;k<=n;++k){
- s+=f2(k); // считаем 2 сумму
- }
- s*=s; // возводим ее в квадрат
- ans+=s; // добавляем 3 часть уравнения в ответ
- printf("%lf\n",ans); // выводим ответ
- return 0; // возвращаем код ошибки
- }
- double f1(int k){
- return 1/((double)k*k);
- }
- double f2(int k){
- return (1/k)*(pow(-1,k+1));
- }
- #include<stdio.h>
- #include<math.h>
- int main(){
- int x,m,n;
- scanf("%d%d%d",&x,&m,&n);
- double ans=0;
- for(int j=1;j<=n;++j){
- double buf1=0, buf2=0;
- buf1+=j*x;
- for(int k=1;k<=m;++k){
- buf1+=k/((double)j)+j/((double)k);
- }
- for(int i=1;i<=m;++i){
- buf2+=1/((double)i);
- }
- buf2*=x;
- buf2+=2*j;
- ans+=buf1/buf2;
- }
- printf("%lf\n",ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement