The Preliminary Contest for ICPC Asia Shenyang 2019 G. Special necklace(物理求并联电阻阻值)

 

题意:求并联电阻的阻值,水题妈蛋的!!!我用java大整数T的要命!,用String就对了 !!我服了!!

题解:很水,画个图看一下就好了,注意每条边的阻值为3a,为什吗呢,看图:

好啦呀!接下来是推图啦:

n=1的时候:

n=2的时候:

n=3的时候:

 是不是很有规律,就像那种除法模拟一样,从下往上搞就完事,因为n很大所以肯定是在并联很多之后就没影响了,果断打表,就好了,然后就会发现,大约在n=10左右就不变了(a前面那个系数),所以就很简单啦,上代码:

java:

import java.io.*;
import java.math.*;
import java.util.StringTokenizer;
class InputReader {
    BufferedReader buf;
    StringTokenizer tok;
    InputReader() {
        buf = new BufferedReader(new InputStreamReader(System.in));
    }
    boolean hasNext() {
        while (tok == null || !tok.hasMoreElements()) {
            try {
                tok = new StringTokenizer(buf.readLine());
            } catch (Exception e) {
                return false;
            }
        }
        return true;
    }
    String next() {
        if (hasNext())
            return tok.nextToken();
        return null;
    }
    int nextInt() {
        return Integer.parseInt(next());
    }
    long nextLong() {
        return Long.parseLong(next());
    }
    double nextDouble() {
        return Double.parseDouble(next());
    }
    BigInteger nextBigInteger() {
        return new BigInteger(next());
    }
    BigDecimal nextBigDecimal() {
        return new BigDecimal(next());
    }
}
public class Main{ 
	static double a[] = new double [100];
	static double fuck;
	static void init() {
		BigInteger x=BigInteger.valueOf(5l);
		BigInteger y=BigInteger.valueOf(3l);
		String s1=x.toString();
		BigDecimal ss1=new BigDecimal(s1);
		String s2=y.toString();
		BigDecimal ss2=new BigDecimal(s2);
		a[1]=ss1.divide(ss2,12,BigDecimal.ROUND_DOWN).doubleValue();
		for (int i = 2; i <= 10;i++) {
			BigInteger yy=x.multiply(BigInteger.valueOf(3l));
			BigInteger xx=y.multiply(BigInteger.valueOf(3l)).add(yy).add(x);
			BigInteger gcdd=xx.gcd(yy);
			xx=xx.divide(gcdd); yy=yy.divide(gcdd);
			yy=yy.add(xx.multiply(BigInteger.valueOf(3l)));
			gcdd=xx.gcd(yy);
			xx=xx.divide(gcdd); yy=yy.divide(gcdd);
			xx=xx.multiply(BigInteger.valueOf(3)).add(yy);
			yy=yy.multiply(BigInteger.valueOf(3l));
			gcdd=xx.gcd(yy);
			xx=xx.divide(gcdd); yy=yy.divide(gcdd);
			x=yy;
			y=xx;
			gcdd=x.gcd(y);
			s1=x.toString();
			ss1=new BigDecimal(s1);
			s2=y.toString();
			ss2=new BigDecimal(s2);
			a[i]=ss1.divide(ss2,12,BigDecimal.ROUND_DOWN).doubleValue();
		}
	}
	static InputReader cin=new InputReader();
    static PrintWriter cout=new PrintWriter(System.out);
	public static void main(String[] args) {
		init();//模拟那个过程,从下到上
		int t=cin.nextInt();
		String n;
		while(t-->0) {
			n=cin.next();//用大整数会T
			fuck=cin.nextDouble();
			if(n.length()>=2) {
				System.out.printf("%.10f\n",a[10]*fuck);
			}
			else System.out.printf("%.10f\n",a[n.charAt(0)-'0']*fuck);
		}
	}
}

C++;

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll gcdd(ll x,ll y){
	return y==0? x:gcdd(y,x%y);
}
double a[50];
void init(){
	ll x=5,y=3;
	ll gcd;
	a[1]=(double)x/y;
	for (int i = 2; i <= 10;i++){
		ll yy=x*3;
		ll xx=y*3+yy+x;
		gcd=gcdd(xx,yy);
		xx/=gcd;yy/=gcd;		
		yy=yy+xx*3;
		gcd=gcdd(xx,yy);
		xx/=gcd;yy/=gcd;	
		xx=xx*3+yy;
		yy*=3;
		gcd=gcdd(xx,yy);
		xx/=gcd;yy/=gcd;
		x=yy;
		y=xx;
		gcd=gcdd(x,y);
		a[i]=(double)x/y;
	}
} 
int main(){
	init();//模拟那个过程,从下到上
	int t;
	scanf("%d",&t);
	while(t--){
		string s;
		double k;
		cin >> s;
		scanf("%lf",&k);
		int len=s.size();
		if(len>=2){
			printf("%.10f\n",a[10]*k);
		}
		else printf("%.10f\n",a[s[0]-'0']*k);
	}
	return 0;
} 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: ap3216c_preliminary_datasheet_rev0.86.pdf是一份关于AP3216C传感器的初步数据手册。AP3216C是一款集成光电二合一传感器的芯片,可用于测量环境光强度和距离。该手册提供了有关该传感器的技术规格、功能特性和设计参考等方面的初步信息。 该手册包含了AP3216C传感器的主要特性和功能。例如,它具有高灵敏度的光电二合一传感器,可以使用红外LED进行测距,并根据其反射光强度来计算距离。此外,该传感器还具有自动光强度调节功能,可以根据环境光的变化自动调节LED的亮度。 手册还提供了AP3216C传感器的技术规格。例如,它的工作电压范围是2.4V至3.6V,工作温度范围是-40℃至85℃。此外,它还具有低功耗特性,适合于电池供电的应用。 除了技术规格和功能特性,该手册还提供了一些设计参考。例如,它包含了AP3216C传感器的封装尺寸和引脚图,以及一些电路设计的建议。 需要注意的是,这份手册是初步版本,可能会在后续版本进行更新和修改。因此,在实际设计和应用,还需参考最新版本的数据手册以获得准确和最新的信息。 ### 回答2: 《ap3216c_preliminary_datasheet_rev0.86.pdf》是一份关于AP3216C光学传感器的初步数据手册。AP3216C是一款综合性能优良的数字环境光传感器和距离传感器。数据手册详细介绍了该传感器的技术规格和特点。 根据数据手册的内容,AP3216C传感器具有高灵敏度、高动态范围和高信噪比等优点。它能够在各种不同条件下准确地测量环境光强度,并能够自动调节显示屏的亮度和对比度,提供更好的用户体验。 此外,AP3216C还具有测量距离的功能。它采用了红外光和光学传感技术,可以实现对物体的精准测距。这一功能在许多应用场景非常有用,如自动控制,安全监测等。 数据手册还介绍了AP3216C的工作电压范围、工作温度范围和接口信息。传感器采用3.3V供电,具有低功耗和快速响应的特点。它通过I2C接口与主控制器通信,方便集成到各种设备。 总而言之,《ap3216c_preliminary_datasheet_rev0.86.pdf》提供了AP3216C的重要技术规格和特性。通过了解这些信息,用户可以更好地了解该传感器,并根据其特点选择适合自己需的应用场景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心脏dance

如果解决了您的疑惑,谢谢打赏呦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值