分数拆分问题
怎么用两个循环嵌套求解?{:10_282:} 本帖最后由 jackz007 于 2022-10-30 18:23 编辑#include <stdio.h>
int main(void)
{
int k , x , y ;
scanf("%d" , & k) ;
for(x = k + 2 , y = k + 1 ; x > y ; y ++) {
if(! ((k * y) % (y - k))) {
x = k * y / (y - k) ;
printf("1/%d=1/%d+1/%d\n" , k , x , y) ;
}
}
}
编译、运行实况
D:\\C>g++ -o x x.c
D:\\C>x
4
1/4=1/20+1/5
1/4=1/12+1/6
1/4=1/8+1/8
D:\\C> 本帖最后由 tommyyu 于 2022-10-30 18:14 编辑
没用嵌套循环,但也做出来了
#include<iostream>
using namespace std;
int main()
{
int n; cin>>n;
int a, b;
for(int i = 1; i <= n; ++i)
{
if(n*n % i == 0) {
a = n + n*n / i;
b = n + i;
cout << "1/" << n << "=1/" << a << "+1/" << b << endl;
}
}
return 0;
}
分数拆分 -> https://blog.csdn.net/weixin_42498163/article/details/112783615 1 #include<stdio.h>
2
3 int main()
4 {
5 int x, y, k, a, b;
6 scanf("%d",&k);
7 a = k*(k+1);
8 x = a;
9 while(x<=a&&x>k)
10 {
11 y = x;
12 while((y<=x)&&(y>k))
13 {
14 b = k*x+k*y;
15 if(x*y==b)
16 {
17 printf("1/%d=1/%d+1/%d\n", k, x, y);
18 y = y - 1;
19 }
20 x = x -1;
21 }
22 }
23 return 0;
24 }
页:
[1]