POJ基础题(二)

  1207       The 3n + 1 problem

#include<iostream>
using namespace std;
 
int cycle(int i)
{
	int count=1;
	while(i!=1)
	{
        count++;
		if(i%2)
			i=3*i+1;
		else
			i/=2;
	}
	return count;
}
 
int main()
{
	int a,b;
	while(cin>>a>>b)
	{
		int x=a<b?a:b;
		int y=a>b?a:b;
		int Maxcycle=0;
        //注意max的初始化放在循环内部,每次输入一组数,重置为0
		for(int i=x;i<=y;i++)
		{
			int temp=cycle(i);
			if(Maxcycle<temp)
				Maxcycle=temp;
		}
		cout<<a<<“ ”<<b<<“ ”<<Maxcycle<<endl;
	}
	return 0;
}

3299 Humidex


#include<iostream>
#include<math.h>
#include<string>
#include<iomanip>//设置输出精度需用到
using namespace std;
int main()
{
	char alpha;
	double t, d, h;
	int i;
	for (;;)
	{
		t = d = h = 200;  
		for (i = 0; i<2; i++)
		{
			cin >> alpha;
			if (alpha == 'E')
				return 0;
			else if (alpha == 'T')
				cin >> t;
			else if (alpha == 'D')
				cin >> d;
			else if (alpha == 'H')
				cin >> h;
		}
		if (h == 200)
			h = t + 0.5555*(6.11*exp(5417.7530*(1 / 273.16 - 1 / (d + 273.16))) - 10);
		else if (t == 200)
			t = h - 0.5555*(6.11*exp(5417.7530*(1 / 273.16 - 1 / (d + 273.16))) - 10);
		else if (d == 200)
			d = 1 / ((1 / 273.16) - ((log((((h - t) / 0.5555) + 10.0) / 6.11)) / 5417.7530)) - 273.16;
		cout << setprecision(1) << fixed << "T " << t << " D " << d << " H " << h << endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/lyc44813418/article/details/86544892
今日推荐