洛谷P2393 yyy loves Maths II

题面

输入一些实数,输出它们的和,精确到5位小数

分析

乍看没有什么,但是直接double读入会WA,用long double读入还是WA,后来评论区有人说先读入乘1e6,输出再除1e6即可。

觉得有两方面原因,一个是long double的有效位数要长于double,由二进制小数转换可知,double在十进制小数表示下(类似科学计数法)有15位(2^52)的精度,而long double随编译器标准不同而不同,一般要长于double的字节,所以小数位数就大一些(有说16~18位的)。

另一方面,在末尾的损失是浮点数不可避免的,比如1000000+0.00001可能仍然是1000000,一般而言在非小数部分这种末尾损失比较小,所以先扩大,输出时才缩小是有效的,如100+0.01变成(10000+1)/100,在计算机中精度应当会更高

代码

#include "cstdlib"
#include "cstdio"
#include "iostream"
#include "cstring"
#include<algorithm>
#include<iomanip>
using namespace std;
int main()
{
	ios::sync_with_stdio(false);
    double ans=0.00,t;
	while (cin>>t)
	{
		ans += t*1000000;
	}
	cout <<fixed<<setprecision(5)<< ans/1000000;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在TouchDesigner中,你可以使用CHOP(通道操作)节点中的LFO(低频振荡器)和Maths(数学)节点来控制图像。以下是一个简单的例子: 1. 创建一个Movie File In节点,将其命名为“movie_in”。 2. 将Movie File In节点的输出连接到一个常规的TOP(图像处理)节点。 3. 创建一个LFO CHOP节点,并将其命名为“lfo”。 4. 在LFO CHOP节点的参数页面上,设置“Frequency”参数为适当的值,以控制LFO的速度。 5. 创建一个Maths CHOP节点,并将其命名为“maths”。 6. 在Maths CHOP节点的参数页面上,选择“Add”操作,并将其输入连接到“lfo”节点的输出。 7. 在Maths CHOP节点的参数页面上,设置“Value 1”参数为1,以控制LFO的振幅。 8. 创建一个Constant CHOP节点,并将其命名为“constant”。 9. 在Constant CHOP节点的参数页面上,设置“Value”参数为0.5,以控制图像的亮度。 10. 创建一个Maths CHOP节点,并将其命名为“maths2”。 11. 在Maths CHOP节点的参数页面上,选择“Multiply”操作,并将其输入连接到“constant”节点的输出。 12. 将“maths”节点的输出连接到“maths2”节点的第一个输入。 13. 将TOP节点的亮度参数连接到“maths2”节点的输出。 现在,你可以控制图像的亮度,以及LFO的速度和振幅,来创建一个动态的图像效果。你可以通过调整LFO节点和Maths节点的参数来实现不同的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值