牛客oj 习题2.9Grading&&习题4.1skew数

本题为送分题。

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <map>
#include <cmath>

using namespace std;

int main(){
//	freopen("in.txt", "r", stdin);
	double P, T, G1, G2, G3, GJ, ans;
	while(~scanf("%lf %lf %lf %lf %lf %lf", &P, &T, &G1, &G2, &G3, &GJ)){
		if(fabs(G1-G2) <= T) ans = (G1+G2)/2;
		else if((fabs(G3-G1) <= T) && (fabs(G3-G2) > T)) ans = (G1+G3)/2;
		else if((fabs(G3-G1) > T) && (fabs(G3-G2) <= T)) ans = (G2+G3)/2;
		else if((fabs(G3-G1) <= T) && (fabs(G3-G2) <= T)) ans = max(max(G1, G2), G3);
		else if((fabs(G3-G1) > T) && (fabs(G3-G2) > T)) ans = G3;
		printf("%.1lf\n", ans);
	}
	return 0;
}

这个题也是送分题,注意数的范围是十位数,int不够用long long。

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <map>
#include <cmath>
#include <climits>

using namespace std;

const int MAXN = 100005;
const int INF = INT_MAX;

string n;

int main(){
//	freopen("in.txt", "r", stdin);
	while(cin >> n){
		if(n == "0") break;
		long long ans = 0, sector = 1;
		int num = n.size(), cur = 0;
		for(int i = 0; i < num; i++){
			sector *= 2;
		}
		while(num--){
			ans += ((n[cur++] - '0') * (sector-1));
			sector /= 2;
		}
		printf("%lld\n", ans);
	}
	return 0;
}
发布了411 篇原创文章 · 获赞 72 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/Flynn_curry/article/details/104371283