首先把数列写成这样:
然后大家记住两条公式:
1.第N行有N个数,当前行元素的分子加分母= n+1
2.偶数行 分子递增分母递减
奇数行 分子递减分母递增
然后记住求三个关键数字:1. n在第几行?(对应 i) 2.n在当前行的第几个元素 (对应 k)3. 前n- 1行共有几个数字(对应 sum)
xdm我举一个简单的例子,大家伙都能懂的!
此时N等于7,先让 j = 1 + 2 + 3 +4,当 j加到4时,while循环也就停止了,这是的 i 就是行数 ,然后用 j - i 就是前n - 1行共有几个数字,最后 n - sum就是 k。
第一次看可能有些懵,自己再举个例子代一代就明白了。
最后一步:先分出奇偶,先那偶数行举例:分子从1开始递增(代码里面k就是分子),然后分母比较麻烦 这里用到(当前行元素的分子加分母= n+1)用n + i - k 就得到了分母。
public class p1014 {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
int n =scanner.nextInt();
int i = 0 , j = 0, sum = 0 , k;//sum 是前n-1个数。i是行数
while(j < n) {
i++;
j += i;
}
sum = j - i;
k = n - sum;
//判断奇偶行
if(i % 2 ==0) {
System.out.println(k + "/" + (i+1-k));
}
if(i % 2 !=0) {
System.out.println((i+1-k) + "/" + k);
}
}
}