0
点赞
收藏
分享

微信扫一扫

外包干了2个多月,技术退步明显。。。。。

产品喵dandan米娜 2024-01-26 阅读 11
算法

1.找最小值

#include<iostream>
using namespace std;
const int N = 110;
int a[N];
int main()
{
	int n; cin >> n; 
	for (int i = 1; i <= n; i++)cin >> a[i];
	int min = a[1];
	for (int i = 2; i <= n; i++)
	{
		if (a[i] < min)min = a[i];
	}
	cout << min;
	return 0;
}

2.分类平均

#include<iostream>
using namespace std;
const int N = 110;
int a[N];
int main()
{
	int n, k; cin >> n >> k;
	int a = 0, b = 0;//a b 类
	int cnt1 = 0, cnt2 = 0;
	for (int i = 1; i <= n; i++)
	{
		if (i % k == 0)
		{
			a += i;
			cnt1++;
		}
		else
		{
			b += i;
			cnt2++;
		}
	}
	double ans1 = a*1.0 / cnt1, ans2 = b*1.0 / cnt2;
	printf("%.1lf %.1lf", ans1, ans2);
	return 0;
}

3.一尺之棰

#include<iostream>
using namespace std;
const int N = 110;
int a[N];
int main()
{
	int a; cin >> a;
	int i = 1;
	while (a > 1)
	{
		a /= 2;
		i++;
	}
	cout << i;
	return 0;
}

4.数字直角三角形

#include<iostream>
using namespace std;
const int N = 110;
int a[N];
int main()
{
	int n, cnt = 0; cin >> n;
	for (int i = 1; i <= n; i++)
	{
		for (int j = i; j <= n; j++)
		{
			cnt++;
			if (cnt < 10)
			{
				cout << "0";
			}
			cout << cnt;
		}
		cout << endl;
	}
	return 0;
}

5.阶乘之和(高精度,这题先空着)

6.计数问题

#include<iostream>
using namespace std;
int main()
{
	int n, x; cin >> n >> x;
	int cnt = 0;
	for (int i = 1; i <= n; i++)
	{
		int j = i;
		while (j != 0)
		{
			if (j % 10 == x)cnt++;
			j /= 10;
		}
	}
	cout << cnt << endl;
	return 0;
}

7.级数求和

#include<iostream>
using namespace std;

int main()
{
	int i,k; cin >> k;
	double sn = 0.0;
	for (i = 1; sn <= k; i++)
	{
		sn += 1.0 / i;
	}
	cout << i - 1;
	return 0;
}

8.金币

#include<iostream>
using namespace std;

int main()
{
	int k,c = 1; cin >> k; int sum = 0;//c为增加的金币数量
	/*1+2+2+3+3+3*/
	for (int i = 1; i <= k; i++)
	{
		k -= i; sum += c * c; c++;
	}
	cout << sum + k * c;
	return 0;
}

9.数列求和

#include<iostream>
using namespace std;
int s(int n)
{
	int sum = 0;
	for (int i = 1; i <= n; i++)
	{
		sum += i;
	}
	return sum;
}
int main()
{
	int n; cin >> n;
	cout << s(n);
	return 0;
}

10.质数口袋

#include<iostream>
using namespace std;
const int N = 1e5 + 10;
int a[N];
int iszs(int n)
{
	for (int i = 2; i < n; i++)
	{
		if (n % i == 0)return 0;
	}
	return 1;//是质数
}
int main()
{
	int l; cin >> l; int sum = 0; int i = 1; int k = 0;
	while (sum < l)
	{
		i++;
		if (iszs(i))
		{
			sum += i;
			k++;
			a[k] = i;
		}
	}
	if (sum > l)k--;
	for (int i = 1; i <= k; i++)cout << a[i] << endl;
	cout << k;
	return 0;
}

举报

相关推荐

0 条评论