Java 洛谷 P1014 Cantor表
生活随笔
收集整理的這篇文章主要介紹了
Java 洛谷 P1014 Cantor表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天跟我的小伙伴一起研究出了這道題
題目鏈接:https://www.luogu.com.cn/problem/P1014
題目理解:
首先我們來理解一下題目中說的以Z字形給上表的每一項編號是怎么個編法
我們看一張圖(圖片來自網絡)
大家可以看正方形里面的數字就知道方向是怎么走的了,實在還是不懂請看下圖
代碼實例:
import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int ans = 1;//計算的是第幾項int i = 1;//i代表的是分子也就是行數int j = 1;//j代表的是分母也就是列數int temp = 1;//1代表遍歷的方向是向上的,0代表遍歷的方向是向下的int n = scanner.nextInt();while(n!=ans) {//如果你沒有判斷到最后一項的話就繼續(xù)判斷,一個一個枚舉的判斷if(temp==1) {//如果方向向上if(i==1) {//判斷是否到了上邊緣j++;//分母加1,像右邊前進一格temp=0;//改變方向ans++;//判斷下一項continue;//方向改變了就要退出當前循環(huán),進行下一次的判斷}else {//沒有到上邊緣i--;//分子減1j++;//分母加1}}else {if(j==1) {//判斷是否到了左邊緣i++;//分子加1,像下走一格temp=1;//改變方向ans++;//判斷下一項continue;//方向改變了就要退出當前循環(huán),進行下一次的判斷}else {//沒有到左邊緣i++;//分子加1j--;//分母減1}}ans++;//沒有抵達邊緣的判斷結束后,都要加1}System.out.println(i+"/"+j);scanner.close();} }總結
以上是生活随笔為你收集整理的Java 洛谷 P1014 Cantor表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android --- Bundle实现
- 下一篇: Ajax-简单的HelloWorld实例