x星球数学城的入口验证方式是:
屏幕上显示一个真分数,需要你快速地找到一个比它小的既约分数,要求这个分数越大越好。
同时限定你的这个分数的分母不能超过100。
思路:
什么是真分数:分子小于分母的分数
什么是既约分数:分子分母互质,也就是说最大公约数是1
其次先构造出最大公约数函数,继而从100开始找出最大的分数比较即可
public class Main {static int m,n;static int max1 = 0;static int max2 = 1;static int a = 7;static int b = 13;public static void main(String[] args) {for(n=100; n>1; n--){for(m=n-1; m>=1; m--){if(m*b<a*n && gcd(m,n)==1){//找出最大的分数if( m*max2>n*max1 ){max1 = m;max2 = n;break;}}}}System.out.println(max1+"/"+max2);}private static int gcd(int i, int j) {if(j==0){return i;}return gcd(j,i%j);}
}
本文发布于:2024-02-04 08:55:18,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170703533354146.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |