三角形(大数问题)
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
给定三条边,请你判断一下能不能组成一个三角形。
输入描述:
输入包含多组数据,每组数据包含三个正整数a、b、c(1≤a, b, c≤10^100)。
输出描述:
对应每一组数据,如果它们能组成一个三角形,则输出“Yes”;否则,输出“No”。
输入例子:
1 2 3 2 2 2
输出例子:
No Yes
题解:我们很容易想到用三角形的性质去判断,但是坑点在于数据的范围,1到10^100的范围,直接判断肯定用字符串来模拟大数即可
代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
char a[1005],b[1005],c[1005];
while(scanf("%s%s%s",a,b,c)!=EOF)
{
long long int s1=0,s2=0,s3=0;
for(int t=0;t<strlen(a)&&t<8;t++)
{
s1=s1*10+a[t]-'0';
}
for(int t=0;t<strlen(b)&&t<8;t++)
{
s2=s2*10+b[t]-'0';
}
for(int t=0;t<strlen(c)&&t<8;t++)
{
s3=s3*10+c[t]-'0';
}
if(s1+s2>s3&&s1+s3>s2&&s2+s3>s1)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
}
作者:李斌
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!