1、计算病人保持正常血压的最长小时数:使用一个变量来记录当前连续正常血压的小时数,另一个变量来记录历史最长的连续正常血压小时数。每次输入新的血压值时,更新这两个变量,如果血压值不在正常范围内,则将当前连续正常血压的小时数重置为0。最后输出历史最长的连续正常血压小时数即可。
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int a, b;
int current_count = 0;
int max_count = 0;
for(int i = 0; i < n; i++)
{
cin >> a >> b;
if(a >= 90 && a <= 140 && b >= 60 && b <= 90)
{
current_count++;
max_count = max(max_count, current_count);
}
else
{
current_count = 0;
}
}
cout << max_count << endl;
return 0;
}
2、使用欧几里得算法(辗转相除法)来计算最大公约数(GCD),然后通过最大公约数计算最小公倍数(LCM)
#include<iostream>
using namespace std;
int gcd(int a, int b)
{
while (b != 0)
{
int temp = b;
b = a % b;
a = temp;
}
return a;
}
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
int m, n;
cin >> m >> n;
int GCD = gcd(m, n);
int LCM = lcm(m, n);
cout << << GCD << " " << LCM << endl;
return 0;
}
3、用高精度计算出S=1!+2!+3!+…+n!(n≤50),其中“!”表示阶乘,例如:5!=5×4×3×2×1。 输入正整数n,输出计算结果S。
4、百钱百鸡问题:
#include <iostream>
using namespace std;
void buyChicken() {
for (int cock = 0; cock <= 20; cock++) {
for (int hen = 0; hen <= 33; hen++) {
int chicken = 100 - cock - hen;
if (chicken % 3 == 0 && cock * 5 + hen * 3 + chicken / 3 == 100) {
cout << "cock=" << cock << ",hen=" << hen << ",chicken=" << chicken << endl;
}
}
}
}
int main() {
buyChicken();
return 0;
}
5、if判断时,等于是==不是=!!
#include<iostream>
using namespace std;
int main()
{
for(int i=100;i<=999;i++)
{
int a=i/100;
int b=(i-a*100)/10;
int c=(i-a*100-b*10);
if(i==a*a*a+b*b*b+c*c*c)
cout<<i<<endl;
}
return 0;
}
6、质因数分解:输出分解后较大的质数#include<iostream>
#include<cmath>
using namespace std;
bool isPrime(int num)
{
if (num <= 1) return false;
if (num == 2) return true;
if (num % 2 == 0) return false;
for (int i = 3; i <= sqrt(num); i += 2)
{
if (num % i == 0) return false;
}
return true;
}
int main()
{
int n;
cin >> n;
int a, b;
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
{
a = i;
b = n / i;
if (isPrime(b)) // 判断较大的那个因子是否为质数
cout << b << endl;
else if (isPrime(a)) // 如果较大的因子不是质数,则判断较小的因子是否为质数
cout << a << endl;
break;
}
}
return 0;
}
7、第x个质数:
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i<=sqrt(num); ++i) {
if (num % i == 0) {
return false;
}
}
return true;
}
int findNthPrime(int n) {
int primesFound = 0;
int num = 2;
int nthPrime = 0;
while (primesFound < n) {
if (isPrime(num)) {
nthPrime = num;
primesFound++;
}
num++;
}
return nthPrime;
}
int main() {
int n;
cin >> n;
int result = findNthPrime(n);
cout<< result << endl;
return 0;
}