优秀代码收集计划

Posted xlinsist

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优秀代码收集计划相关的知识,希望对你有一定的参考价值。

计算几何

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const double PI = acos(-1.0);
struct point
{
    double x;
    double y;
    double z;
};
struct circle
{
    point o;
    double r;
} a, b;
double getlen(point a, point b)
{
    double ans = sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y) + (a.z - b.z) * (a.z - b.z));
    return ans;
}
int main()
{
    scanf("%lf%lf%lf%lf", &a.o.x, &a.o.y, &a.o.z, &a.r);
    scanf("%lf%lf%lf%lf", &b.o.x, &b.o.y, &b.o.z, &b.r);
    
    if (a.r > b.r)
        swap(a, b);
    double dis = getlen(a.o, b.o);
    if (dis + a.r <= b.r)
    {
        double r = max(a.r, b.r);
        double ans = 4 * PI * r * r;
        printf("%.6lf", ans);
    }
    else if (dis < a.r + b.r && dis + a.r > b.r)
    {
        double angle_cosa = (a.r * a.r + dis * dis - b.r * b.r) / (2 * a.r * dis);
        double angle_cosb = (b.r * b.r + dis * dis - a.r * a.r) / (2 * b.r * dis);
        double len_a = a.r - a.r * angle_cosa;
        double len_b = b.r - b.r * angle_cosb;
        double ans = 4 * PI * (a.r * a.r + b.r * b.r);
        ans -= 2 * PI * (a.r * len_a + b.r * len_b);
        printf("%.6lf", ans);
    }
    else
    {
        double ans = 4 * PI * (a.r * a.r + b.r * b.r);
        printf("%.6lf", ans);
    }
}

python(进制转换)

def toshi(x):
    if '0'<=x<='9':
        return ord(x)-48
    return ord(x)-ord('a')+10
def shito(x):
    if 0<=x<=9:
        return chr(x+48)
    return chr(x-10+ord('a'))
s=input()
a,b=map(int,input().split())
ans=0
for i in s:
    ans*=a
    ans+=toshi(i)
if ans==0:
    print(0)
pr=''
while ans>0:
    pr=shito(ans%b)+pr
    ans//=b
print(pr)

以上是关于优秀代码收集计划的主要内容,如果未能解决你的问题,请参考以下文章

Word 文档的优秀代码片段工具或插件?

massCode 一款优秀的开源代码片段管理器

Microsoft SQL Server 代码片段收集

精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解

精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!(转载)

常用Javascript代码片段集锦