J: Just for fun
时间:2019-04-15
本文章向大家介绍J: Just for fun,主要包括J: Just for fun使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
J: Just for fun
时间限制: 1 s 内存限制: 128 MB
题目描述
最近carryon在准备考研复习高数,复习到微分学的时候看到一个求曲面某点的切平面的问题。
现在有一个曲面方程如下:
AX^2 + BY^2 + CZ^2 = D
给一个在曲面上的点(x, y, z);
然后你需要计算出切面方程,并且输出;
a,b,c,d分别为他们的系数
(保证结果一定存在)
输出的格式如:(系数为零的不输出)
ax + by + cz + d = 0
输出规定最前面的未知数的参数为正数;
输入
题目要求多组输入!!!
第一行输入四个参数,A, B, C, D;(-10000 <A,B,C,D<10000, 且都不为零);
第二行输入三个参数,x, y, z;(-100 < x,y,z < 100);
输出
ax + by + cz + d = 0
样例输入
1 1 1 14
1 2 3
样例输出
x + 2y + 3z - 14 = 0
高数:解切面方程
1、先求出切面方程的法向量(2ax0,2by0,2cz0);
2、用点法式表示切面方程:2ax0(x-x0)+2by0(y-y0)+2cz0(z-z0)=0
注意几点要求:
1、第一个未知数系数一定为正
2、系数为零的不输出
3、系数为-1和1的未知数不输出1
#include<iostream> #include<math.h> #define ll long long using namespace std; ll a, b, c, d, x, y, z,A, B, C, temp; ll gcd(ll a, ll b) { return b == 0 ? a : gcd(b, a%b); } void check() { if(A==0) { if(B==0) { if(C<0) C=C*-1,d=d*-1; } if(B<0) B=B*-1,C=C*-1,d=d*-1; } if(A<0) A=A*-1,B=B*-1,C=C*-1,d=d*-1; } int main() { while (~scanf("%lld%lld%lld%lld", &a, &b, &c, &d)) { scanf("%lld%lld%lld", &x, &y, &z); //ll A, B, C, temp; A = 2 * x*a, B = 2 * y*b, C = 2 * z*c; d = A * x*-1 + B * y*-1 + C * z*-1; //A = 2 * x*a, B = 2 * y*b, C = 2 * z*c; temp = gcd(gcd(A, B), gcd(C, d)); A = A / temp, B = B / temp, C = C / temp, d = d / temp; check(); if(A!=0&&A!=1&&A!=-1) cout<<A<<'x'; if(A==1) cout<<'x'; if(A==-1) cout<<"-x"; if(B>0&&B!=1&&B!=-1) cout<<" + "<<B<<'y'; if(B<0&&B!=1&&B!=-1) cout<<" - "<<-1*B<<'y'; if(B==1) cout<<'y'; if(B==-1) cout<<"-y"; if(C>0&&C!=1&&C!=-1) cout<<" + "<<C<<'z'; if(C<0&&C!=1&&C!=-1) cout<<" - "<<-1*C<<'z'; if(C==1) cout<<'z'; if(C==-1) cout<<"-z"; if(d<0) cout<<" - "<<-1*d; if(d>0) cout<<" + "<<d; cout<<" = 0"<<endl; } return 0; }
- android Handler更新UI
- Android 四大组件之Activity生命周期
- Android 简单的代码混淆
- Android Service组件(1)
- Android学习之listview的下拉刷新、上拉载入
- Android Service 系统服务
- Android学习之sqlite与listview
- Android应用开发SharedPreferences存储数据的使用方法
- android 补间动画
- Android Geocoder(位置解析)
- Android服务之AIDL
- SQL语言学习-数据定义语言
- js获取url参数的方法
- JavaScript操作符(关系操作符、相等操作符和条件操作符)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android自定义酒店日期选择器
- Android实现apk插件方式换肤的实例讲解
- 基于Spark Graphx实现ID-Mapping
- Nginx keepalived一主一从高可用,手把手带你一步一步配置!
- Android实现自动轮询的RecycleView
- Android自定义钟表特效
- Android MediaPlayer 音频倍速播放 调整播放速度问题
- Android 简单实现倒计时功能
- Android Canvas自定义实现时钟效果
- 虚拟机kali安装vmtools
- Android动画学习笔记之补间动画
- [- Flutter 数据&状态篇 -] setState
- flutter 自定义websocket路由的实现
- Flutter开发之路由与导航的实现
- Android BSearchEdit 搜索结果选择框的实例代码