初级天翼
4359 相似图形 经验值:0
题目描述 Description
图图和小美是牡丹小学六(1)班的学生。秉承“学习使我妈快乐”的精神,他们一直努力地学习新的知识。特别是在数学知识的学习上,他们具有很强的超前意识,现在已经学到了相似图形。以三角形为例,如果两个三角形的三边成比例,那么这两个三角形就相似。比如,第一个三角形的三边长分别为4、5、6,第二个三角形的三边长分别为8、10、12,则有8/4=2,10/5=2,12/6=2,他们的比例都是2,因此这两个三角形相似。现分别给出这两个三角形的三边长度,请判断它们是否相似,如果相似,输出“Yes”,如果不相似,输出“No”。
输入描述 Input Description
两行:第一行三个正整数,为第一个三角形的三边长;第二行三个正整数,为第二个三角形对应的三边边长。
输出描述 Output Description
一行:Yes或No。
样例输入 Sample Input
4 5 6 8 15 12
样例输出 Sample Output
No
数据范围及提示 Data Size & Hint
每一个数都不超出int范围,数据保证能构成三角形,第二个三角形对应边的长度一定大于等于第一个三角形的对应边,且比例一定是正整数。
这么简单的一道题50分,服了服了
我的错误代码:
#include <iostream>
using namespace std;
double a, b, c, x, y, z;
int main() {
cin >> a >> b >> c >> x >> y >> z;
if(x/a == y/b == z/c) cout << "Yes";
else cout << "No";
return 0;
}
定义的double,一开始int是30分
王子健在2020-08-22 16:40:13追加了内容
再一次WA红色传说
这次60分
代码:
#include <iostream>
using namespace std;
double a, b, c, x, y, z;
int main() {
cin >> a >> b >> c >> x >> y >> z;
if(x/a==2&&y/b==2&&z/c==2) cout << "Yes";
else cout << "No";
return 0;
}
新手光能
x/a有可能不=2
d=x/a;
if(y/b==d&&z/c==d) cout << "Yes";
试试他!
江见匀在2020-08-22 19:22:35追加了内容
我试了 100分~
初级光能
你这样写程序是这样判断的:
x/a == y/b == z/c
先判断:x/a == y/b
假设返回true
接下来就会判断:1==z/c
所以就错了
高级光能
#include<iostream>
#include<string>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int main(){
string s;
int m;
cin>>s>>m;
for(int i=1;i<=m;i++){
for(int i=0;i<=s.size();i++){
if(i==s.size()||s[i]>s[i+1]){
s.erase(i,1);
break;
}
}
while(s[0]=='0'&&s.size()!=1){
s.erase(0,1);
}
cout<<s<<endl;
}
while(s[0]=='0'&&s.size()!=1){
s.erase(0,1);
}
return 0;
}
这是正确的代码,你看看