- 编程实现两个分数的加法运算,并将结果约分为最简分数形式
#include<iostream>
using namespace std;
//分母需要同分,求最小公倍数
int f2(int x,int y) {
int m;
if (x > y)m = x;
else m = y;
for (m; m < x*y; m++)
if (m % x == 0 && m % y == 0)
return m;
return x * y;
}
//结果需要化简,求最大公约数
int f1(int a, int b) {
int n;
if (a < b)n = a;
else n = b;
for (int i = n; i >= 1; i--)
if (a % n == 0 && b % n == 0)
return i;
return 1;
}
//分数的加法运算
void f(int x1,int x2,int y1,int y2) {
int b = f2(x2, y2);
int a = x1 * b / x2 + y1 *b / y2;
cout << a/ f1(a, b) << "/" << b/ f1(a, b) << endl;
}
int main() {
int x1, x2, y1, y2;
cout << "请依次输入第一个数的分子、分母,第二个数的分子、分母" << endl;
cin >> x1 >> x2 >> y1 >> y2;
f(x1, x2, y1, y2);
return 0;
}
- ?求[n1,n2]区间内的所有素数。要求判断一个整数是否为素数和输出分别用一个函数实现,并按每行5个素数的方式输出
#include<iostream>
#include<cmath>
using namespace std;
//判断参数n是否为素数
bool f(int n) {
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0)return 0;
if (i == (int)floor(sqrt(n)))return 1;
}
}
//输出[n1,n2]所有素数
void show(int n1, int n2) {
int k = 0;
for (int i = n1; i <= n2; i++) {
if (f(i) == 1) {
cout << i<<" ";
k++;
if (k % 5 == 0)cout << endl;
}
}
}
int main() {
int n1, n2;
cin >> n1 >> n2;
show(n1, n2);
return 0;
}
题解:
#include<iostream>
using namespace std;
int main() {
int s = 0;
for (int n = 100; n >= 1; n -= 3) {
s += n;
}
cout << s << endl;
return 0;
}
??
?
?题解:
#include<iostream>
using namespace std;
int main() {
int n,s=0;
cin >> n;
for (int i = 1; i <= n; i++) {
s += i * i;
}
cout << s << endl;
return 0;
}
?
?今天总算把那几个程序写了两个,然后就是简单的练了几道题,还比较充实
?
|