SCAU数值计算OJ

news2025/6/7 14:14:51

18957.计算自然对数ln(x)的导数

Description

求自然对数ln(x)的导数,输入双精度实数x>=1,输出自然对数ln(x)的导数(精确到小数点后2位有效数,小数点后第2位四舍五入所得)。

输入格式

m(整数,实验数据总数)
x1(实数,自然对数ln(x)的自变量)
X2实数,自然对数ln(x)的自变量)
...
xm(实数,自然对数ln(x)的自变量)

输出格式

y1(实数,自然对数ln(x1)的导数)
y2实数,自然对数ln(x2)的导数)
...
ym(实数,自然对数ln(xm)的导数)

输入样例

3
1.0
2.0
3.0

输出样例

1.00
0.50
0.33

代码:

 
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
double ln(int x){
    double h=0.32;
    for(int i=0;i<20;i++){
        h/=2.0;
    }
    return log((x+h)/x)/h;
 
}
int main()
{
    int m;
    scanf("%d",&m);
    double x[100];
    for(int i=0;i<m;i++){
        scanf("%lf",&x[i]);
    }
    for(int i=0;i<m;i++){
        printf("%.2f\n",ln(x[i]));
    }
    return 0;
}

18991 实验1.2 调和级数求和

#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
using namespace std;
double sumHSDL(int h){
    double sum=0;
    for(int i=1;i<=h;i++){
        sum+=1.0/i;
    }
    return sum;
}
double sumHSDR(int h){
    double sum=0;
    for(int i=h;i>=1;i--){
        sum+=1.0/i;
    }
    return sum;
}
 
int main()
{
   int m;
   cin>>m;
   vector<int> k;
    int a;
   for(int i=0;i<m;i++){
    cin>>a;
    k.push_back(a);
   }
   for(int i=0;i<m;i++){
        printf("%.14f ",sumHSDL(k[i]));
        printf("%.14f\n",sumHSDR(k[i]));
   }
   return 0;
 
}

18996 求正弦函数值

#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
using namespace std;
#define PI 3.1415926535897932l
int GetSinItemNumber(double x)
{ int N;
  if(x<0)x=-x;
       if(x<=PI/8)    N=6;
  else if(x<=PI/4)    N=8;
  else if(x<=PI/2)    N=10;
  else if(x<=3*PI/4)  N=12;
  else                N=14;
  return N;
}
double SINTV(double x)
{ int K,N;
  double y=1.0,xx=0.0,temp;
  N=GetSinItemNumber(x);
  K=N*2;
  xx=x*x;
  while(K>0)
  { y=1.0-y*xx/K/(K+1);
    K-=2;
  }
  return y*x;
}
 
int main()
{
    int m;
    scanf("%d",&m);
    double x[100];
    for(int i=0;i<m;i++){
        scanf("%lf",&x[i]);
    }
    for(int i=0;i<m;i++){
        printf("%.14lf\n",SINTV(x[i]));
    }
    return 0;
}

18997 求余弦函数值

#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
using namespace std;
#define PI 3.1415926535897932l
int GetSinItemNumber(double x)
{ int N;
  if(x<0)x=-x;
       if(x<=PI/8)    N=6;
  else if(x<=PI/4)    N=8;
  else if(x<=PI/2)    N=10;
  else if(x<=3*PI/4)  N=12;
  else                N=14;
  return N;
}
double COSTV(double x)
{ int K,N;
  double y=1.0,xx;
  N=GetSinItemNumber(x)+1;
  K=N*2;
  xx=x*x;
  while(K>0)
  { y=1.0-y*xx/K/(K-1);
    K-=2;
  }
  return y;
}
 
 
int main()
{
    int m;
    scanf("%d",&m);
    double x[100];
    for(int i=0;i<m;i++){
        scanf("%lf",&x[i]);
    }
    for(int i=0;i<m;i++){
        printf("%.14lf\n",COSTV(x[i]));
    }
    return 0;
}

18998 求对数函数值ln(x)

#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#define MATHLOG 1
#define LOGTWO   0.69314718055994531
#define LOGTEN   2.3025850929940457
#ifndef ZERO
  #define ZERO 0.5E-100
#endif
using namespace std;
int GetLogItemNumber(double a)
{ int N;
       if(a<=1)   N=-1;
  else if(a<=1.2) N=7;
  else if(a<=1.5) N=10;
  else if(a<=2.0) N=15;
  else if(a<=3.0) N=24;
  else if(a<=10)  N=84;
  else  N=84*(int)(a/10);
  return N;
}
double LOGTV(double a)
{ int N=0,K,NK;
  double x,xx,y;
  x=(a-1)/(a+1);
  xx=x*x;
  N=GetLogItemNumber(a);
  NK=N*2+1;
  y=1.0/NK;
  for(K=N;K>0;K--)
  { NK-=2;
    y =1.0/NK+xx*y;
  }
  return 2.0*x*y;
}
double LOG(double a)
{ int TYPE=0,K=0;
  double x0,x,y,power=2.0;
  x=a;
   if(x<ZERO) return -100;
   if(x<1){x=1.0/x,TYPE=1;}
   while(power<x){ power*=2.0;K++;}
   y=LOGTV(2.0*x/power)+K*LOGTWO;
   if(TYPE==1)y=-y;
   return y;
}
 
int main()
{
    int m;
    scanf("%d",&m);
    double x[100];
    for(int i=0;i<m;i++){
        scanf("%lf",&x[i]);
    }
    for(int i=0;i<m;i++){
        printf("%.14lf\n",LOG(x[i]));
    }
    return 0;
}

18999 求指数函数值

#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#define MATHEXP 1
 
#define EPOW01  2.7182818284590452
#define EPOW02  7.3890560989306502
#define EPOW10  22026.465794806717
 
double EXPTV(double x)
{ int N=23;
  int K=0;
  double y=1.0;
  if(x<=0.5) N=14; /*See Ch3 Table 7.1*/
  else if(x<=1.0) N=18;
  else            N=23;
  for(K=N;K>0;K--)
    y=1.0+y*x/K;
  return y;
}
 
double EXP(double x)
{ int TYPE=0;
  double y0=1.0;
  if(x<0){TYPE=1;x=-x;}
  while(1)
  {      if(x>10) {x-=10;y0*=EPOW10;}
    else if(x>2)  {x-=2; y0*=EXPTV(2);}
    else          break;
  }
  y0 *=EXPTV(x);
  if(TYPE==1) return 1.0/y0;
  else        return y0;
}
 
int main()
{
    int m;
    scanf("%d",&m);
    double x[100];
    for(int i=0;i<m;i++){
        scanf("%lf",&x[i]);
    }
    for(int i=0;i<m;i++){
        printf("%.14lf\n",EXP(x[i]));
    }
    return 0;
}

19000 二分法解非线性方程

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define  MN 51
int      RN=1;
double   ANS,ERR,EPS=0.4E-14;
double   A[MN],B[MN],X[MN],Y[MN],E[MN];
double f(double x){return x*x*x-2.0*x-2;}
// double   A0=0.0,B0=2.5;
double   A0,B0;
 
 int BISECTION(double A0,double B0)
{ double FA;
  int K;
  FA=f(A0);
  A[0]=A0;
  B[0]=B0;
  X[0]=(A0+B0)/2.0;
  Y[0]=f(X[0]);
  E[0]=(B0-A0)/2;
  for(K=1;K<MN;K++)
  { if(Y[K-1]*FA>0) {A[K]=X[K-1];B[K]=B[K-1];}
     else           {A[K]=A[K-1];B[K]=X[K-1];}
     X[K]=(A[K]+B[K])/2.0;
     Y[K]=f(X[K]);
     E[K]=(B[K]-A[K])/2;
     if(E[K]<EPS) break;
  }
  int k;
  if(K<MN)K++;
  RN=K;
  ANS=X[RN-1];
  ERR=E[RN-1];
  for(k=0;k<RN;k++)
  {  
      if(k==RN-1)
      printf("%.15f %.15f %.15f\n",A[k],B[k],X[k]);
 
 }
  return 0;
}
int main()
{ 
     int m = 1;
    scanf("%d", &m);
    double x[m], y[m];
    for (int i = 0; i < m; i++) {
   
        scanf("%lf %lf", &x[i],&y[i]);
    }
    for (int i = 0; i < m; i++) {
   
         BISECTION(x[i],y[i]);
    }
 
}

19001 黄金分割求函数最小值

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define  MN   51
int      RN=1;
double  OPTX,OPTY,ERR;
double  GOLDEN=0.6180339887498948l;
double  A[MN],B[MN],AX[MN],BX[MN];
double  X1[MN],X2[MN],Y1[MN],Y2[MN];
 
/*  Exam 3.1 */
double  EPS=0.4E-8;
double f(double x){return exp(x)-2*x*x;}
int GoldenSection(double A0,double B0)
{ 
    int K;
  A[0]=A0;
  B[0]=B0;
  BX[0]=(B[0]-A[0])*GOLDEN;
  AX[0]=BX[0]*GOLDEN;
  X2[0]=A[0]+BX[0];
  Y2[0]=f(X2[0]);
  X1[0]=A[0]+AX[0];
  Y1[0]=f(X1[0]);
  for(K=1;K<MN;K++)
  { BX[K]=AX[K-1];
    AX[K]=BX[K]*GOLDEN;
    if(Y1[K-1]<Y2[K-1])
      { A[K]=A[K-1];B[K]=X2[K-1];
	X2[K]=X1[K-1];
	Y2[K]=Y1[K-1];
	X1[K]=A[K]+AX[K];
	Y1[K]=f(X1[K]);
      }
    else
      { A[K]=X1[K-1];B[K]=B[K-1];
	X1[K]=X2[K-1];
	Y1[K]=Y2[K-1];
	X2[K]=A[K]+BX[K];
	Y2[K]=f(X2[K]);
      }
   if(AX[K]<EPS) break;
  }
  if(K<MN)K++;
  RN=K;
  ERR=AX[RN-1];
  if(Y1[RN-1]<Y2[RN-1])
	 { OPTX=X1[RN-1];OPTY=Y1[RN-1];}
  else   { OPTX=X2[RN-1];OPTY=Y2[RN-1];}
    for(K=0;K<RN;K++)
  {  
      if(K==RN-1)
      printf("%.9f %.9f %.9f %.9f %.9f %.9f\n",A[K],X1[K],X2[K],B[K],Y1[K],Y2[K]);
    //   printf("%.9f %.9f %.9f\n",Y1[K],Y2[K],AX[K]);
 }
//   printf("%.9f %.9f %.9f\n\n",OPTX,OPTY,ERR);
  return 0;
}
 
int main()
{ 
     int m = 1;
    scanf("%d", &m);
    double x[m], y[m];
    for (int i = 0; i < m; i++) {
   
        scanf("%lf %lf", &x[i],&y[i]);
    }
    for (int i = 0; i < m; i++) {
   
         GoldenSection(x[i],y[i]);
    }
 
}

19020 选列主元约当消元法求线性方程组唯一解

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
double b[4][5];
 
void getm(int k)//选取最大主列
{
    double temp;
    for(int i=k+1; i<4; i++)
    {
        if(fabs(b[k][k])<fabs(b[i][k]))
        {
            for(int a=k; a<5; a++)
            {
                temp = b[k][a];
                b[k][a] = b[i][a];
                b[i][a] = temp;
            }
        }
    }
  return ;
}
 
 
void Uppertriangle()//化上三角就是把对角线下面变成0
{
    double x;
    for(int i=0; i<3; i++)
    {
        getm(i);
        x = b[i][i];
        for(int a=i; a<5; a++)
        {
 
            b[i][a] = b[i][a]/x;//化1
        }
        for(int j=i+1; j<4; j++)
        {
            x = b[j][i];
            for(int a=i; a<5; a++)
            {
                b[j][a] = b[j][a]-b[i][a]*x;//化0
            }
 
        }
    }
}
 
void Lowertriangle()//化下三角就是把对角线上面变成0
{
    double x;
    for(int i=3; i>0; i--)
    {
        x = b[i][i];
        for(int a=i; a<5; a++)
        {
            b[i][a] = b[i][a]/x;//把对角线上值系数变成1
        }
        for(int j=i-1; j>=0; j--)
        {
            x = b[j][i];
            for(int a=j; a<5; a++)
            {
                b[j][a] = b[j][a]-b[i][a]*x;//在上三角基础上把第i列的第i项之外其他变成0
            }
        }
    }
}
 
 
int main()
{
    int n;
    scanf("%d",&n);
    while(n>0)
    {
        for(int i=0; i<4; i++)
        {
            for(int j=0; j<5; j++)
            {
                scanf("%lf",&b[i][j]);
            }
        }
        Uppertriangle();
        Lowertriangle();
printf("%0.9lf %0.9lf %0.9lf %0.9lf \n",
       b[0][4],b[1][4],b[2][4],b[3][4]);
        n--;
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2402989.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python打卡第46天

浙大疏锦行 注意力 注意力机制是一种让模型学会「选择性关注重要信息」的特征提取器&#xff0c;就像人类视觉会自动忽略背景&#xff0c;聚焦于图片中的主体&#xff08;如猫、汽车&#xff09;。 从数学角度看&#xff0c;注意力机制是对输入特征进行加权求和&#xff0c;…

Unity优化篇之DrawCall

当然可以&#xff01;以下是完整、详尽、可发布的博客文章&#xff0c;专注讲解 Unity 的静态合批与动态合批机制&#xff0c;并详细列出它们对 Shader 的要求和所有限制条件。文章结构清晰、技术深度足够&#xff0c;适合发布在 CSDN、掘金、知乎等技术平台。 urp默认隐藏动态…

SpringCloud学习笔记-2

说明&#xff1a;来源于网络&#xff0c;如有侵权请联系我删除 1.提问&#xff1a;如果注册中心宕机&#xff0c;远程调用还能成功吗 答&#xff1a;当微服务发起请求时&#xff0c;会向注册中心请求所有的微服务地址&#xff0c;然后在向指定的微服务地址发起请求。在设计实…

从混乱到秩序:探索管理系统如何彻底改变工作流程

内容摘要 在许多企业与组织中&#xff0c;工作流程混乱是阻碍发展的“绊脚石”。员工们常常被繁琐的步骤、模糊的职责和沟通不畅等问题搞得焦头烂额&#xff0c;工作效率低下&#xff0c;错误频发。而与之形成鲜明对比的是&#xff0c;一些引入了先进管理系统的团队&#xff0…

最新研究揭示云端大语言模型防护机制的成效与缺陷

一项全面新研究揭露了主流云端大语言模型&#xff08;LLM&#xff09;平台安全机制存在重大漏洞与不一致性&#xff0c;对当前人工智能安全基础设施现状敲响警钟。该研究评估了三大领先生成式AI平台的内容过滤和提示注入防御效果&#xff0c;揭示了安全措施在阻止有害内容生成与…

HTML5+CSS3+JS小实例:具有粘性重力的磨砂玻璃导航栏

实例:具有粘性重力的磨砂玻璃导航栏 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width…

Python爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…

Webpack的基本使用 - babel

Mode配置 Mode配置选项可以告知Webpack使用相应模式的内置优化 默认值是production&#xff08;什么都不设置的情况下&#xff09; 可选值有&#xff1a;none | development | production; 这几个选项有什么区别呢&#xff1f; 认识source-map 我们的代码通常运行在浏览器…

链游技术破壁:NFT资产确权与Play-to-Earn经济模型实战

链游技术破壁&#xff1a;NFT资产确权与Play-to-Earn经济模型实战 ——从「投机泡沫」到「可持续生态」的技术重构 一、NFT确权技术革新&#xff1a;从链上存证到动态赋权 跨链确权架构 全链互操作协议&#xff1a;采用LayerZero协议实现以太坊装备与Solana土地的跨链组合&…

为什么HDI叠孔比错孔设计难生产

摘要&#xff1a;本文深入探讨了HDI&#xff08;高密度互连&#xff09;技术中叠孔与错孔设计在生产难度上的差异。通过对两种设计在对位精度、制程复杂性、可靠性挑战等方面进行详细分析&#xff0c;阐述了叠孔设计在生产过程中面临的一系列难题&#xff0c;旨在为HDI产品的设…

数据分析实战2(Tableau)

1、Tableau功能 数据赋能&#xff08;让业务一线也可以轻松使用最新数据&#xff09; 分析师可以直接将数据看板发布到线上自动更新看板自由下载数据线上修改图表邮箱发送数据设置数据预警 数据探索&#xff08;通过统计分析和数据可视化&#xff0c;从数据发现问题&#xf…

游戏开发中的CI/CD优化案例:知名游戏公司Gearbox使用TeamCity简化CI/CD流程

案例背景 关于Gearbox&#xff1a; Gearbox 是一家美国电子游戏公司&#xff0c;总部位于德克萨斯州弗里斯科&#xff0c;靠近达拉斯。Gearbox 成立于1999年&#xff0c;推出过多款史上最具代表性的视频游戏&#xff0c;包括《半衰期》、《战火兄弟连》以及《无主之地》。 团队…

Linux --TCP协议实现简单的网络通信(中英翻译)

一、什么是TCP协议 1.1 、TCP是传输层的协议&#xff0c;TCP需要连接&#xff0c;TCP是一种可靠性传输协议&#xff0c;TCP是面向字节流的传输协议&#xff1b; 二、TCPserver端的搭建 2.1、我们最终好实现的效果是 客户端在任何时候都能连接到服务端&#xff0c;然后向服务…

LlamaIndex 工作流简介以及基础工作流

什么是工作流&#xff1f; 工作流是一种由事件驱动、基于步骤的应用程序执行流程控制方式。 你的应用程序被划分为多个称为“步骤&#xff08;Steps&#xff09;”的部分&#xff0c;这些步骤由“事件&#xff08;Events&#xff09;”触发&#xff0c;并且它们自身也会发出事…

如何利用Elastic Stack(ELK)进行安全日志分析

在以下文章中&#xff0c;我将解释如何使用Elastic Stack&#xff08;ELK&#xff09;进行安全日志分析&#xff0c;以提高安全性和监控网络活动。ELK是一个功能强大的开源日志管理和分析平台&#xff0c;由Elasticsearch、Logstash和Kibana组成&#xff0c;适用于各种用例&…

创客匠人:以 AI 利器赋能创始人 IP 打造,加速知识变现新路径

在知识付费与个人 IP 崛起的时代&#xff0c;创客匠人作为行业领先的技术服务商&#xff0c;正通过 AI 工具重构创始人 IP 打造与知识变现的生态。其推出的三大 AI 利器 ——AI 销售信、免训数字人、AI 智能客服&#xff0c;精准解决 IP 运营中的核心痛点。 以 AI 销售信为例&…

Opencv中的copyto函数

一.OpenCV中copyto函数详解 copyto&#xff08;&#xff09;是 OpenCV 中用于图像复制和融合的核心函数&#xff0c;支持灵活的数据复制和掩模&#xff08;Mask&#xff09;操作&#xff0c;其功能和使用方法如下&#xff1a; 1. 核心功能 基础复制&#xff1a;将源图像&…

基于深度强化学习的Scrapy-Redis分布式爬虫动态调度策略研究

在大数据时代&#xff0c;网络数据的采集与分析变得至关重要&#xff0c;分布式爬虫作为高效获取海量数据的工具&#xff0c;被广泛应用于各类场景。然而&#xff0c;传统的爬虫调度策略在面对复杂多变的网络环境和动态的抓取需求时&#xff0c;往往存在效率低下、资源浪费等问…

在 Ubuntu 24.04 LTS 上安装 Jenkins 并配置全局工具(Git、JDK、Maven)

在 Ubuntu 24.04 LTS 上安装 Jenkins 并配置全局工具(Git、JDK、Maven) Jenkins 是一款开源的持续集成和持续交付(CI/CD)工具,在 DevOps 实践中有着广泛的应用。本文将手把手带你在 Ubuntu 24.04 LTS 系统中完成 Jenkins 的安装,并配置所需的全局工具:Git、JDK 和 Maven…

防爆型断链保护器的应用场景有哪些?

​ ​防爆型断链保护器是一种用于防止链条断裂导致设备损坏或安全事故的装置&#xff0c;尤其适用于存在爆炸风险的工业环境。以下是其主要应用场景&#xff1a; ​ ​1.石油化工行业 在石油化工厂、炼油厂等场所&#xff0c;防爆型断链保护器可用于保护输送设备&#xf…