来源
元培-From Whf
描述
所谓最简真分数是指分子小于分母,且不能约分的分数。给定 n(1 < n < 200)个非负整数(每个整数不超过3位),哪两个整数分别作为分子和分母能够构成最简真分数。输出所有的最简真分数组合;若没有,则输出NO。
关于输入
关于输出
例子输入
例子输出
3/5,3/7,3/11,3/13,5/7,5/9,5/11,5/13,7/9,7/11,7/13,7/15,9/11,9/13,11/13,11/15,13/15
#include
int chu(int a, int b) {
int temp = 0; if (a > b) {
temp = a; a = b; b = temp; } int flag = 0; for (int i = 2; i <= a; i++) {
if (b%i == 0 && a%i == 0)flag = 1; } if (flag == 0)return 1; else return 0; } int main() {
int flagfin = 0; int a[200] = {
0 }; int n = 0; scanf("%d", &n); for (int i = 0; i < n; i++) {
scanf("%d", &a[i]); } int temp = 0; for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (a[j] > a[j + 1]) {
temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } int flag = 0; for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if(a[i]!=a[j]&&a[i]!=0&&a[j]!=0){
if (chu(a[i], a[j]) == 1 &&flag==0){
printf("%d/%d", a[i],a[j]); flag = 1; flagfin = 1; } else if (chu(a[i], a[j]) == 1 && flag != 0 ) {
printf(",%d/%d", a[i],a[j]); } } } } if (flagfin == 0)printf("NO"); return 0; }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212405.html原文链接:https://javaforall.net
