PAT_B_1027_Java(20分)
生活随笔
收集整理的這篇文章主要介紹了
PAT_B_1027_Java(20分)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
自己寫的:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class Main {public static void main(String[] args) throws IOException {BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));String[] str = bf.readLine().split(" ");int a = Integer.parseInt(str[0]);char sign = str[1].charAt(0);int cnt1 = 0, cnt2 = 0, split = 0;if (a == 0) {//首先考慮特殊情況System.out.println("0");} else {for (int i = 1; ; i++) {if (a >= 2 * i * i - 1 && a < 2 * (i + 1) * (i + 1) - 1) {cnt1 = i;cnt2 = 2 * i * i - 1;break;}}//打印圖形:倒三角for (int i =0 ; i <2 * cnt1 - 1; i+=2) {split++;for (int j = 1; j < split; j++) {System.out.print(" ");}for (int k = 0; k < 2 * cnt1 - 1 - i; k++) {System.out.print(sign);}System.out.println();}//打印圖形:正梯形for(int i =2 * cnt1 - 3 ; i >=0; i-=2){for(int j=split-2;j>0;j--){System.out.print(" ");}split--;for (int k = 0; k < 2 * cnt1 - i; k++) {System.out.print(sign);}System.out.println();}System.out.println(a - cnt2);}} }大佬的:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();char c = in.next().charAt(0);in.close();int w = (int) Math.sqrt((n + 1) / 2);for (int i = 0; i < 2 * w - 1; i++) {for (int j = 0; j < 2 * w - 1; j++) {if ((i > j && i + j < 2 * w - 2) || (i < j && i + j > 2 * w - 2)) {if (i > j && i + j < 2 * w - 2)System.out.print(" ");} else {System.out.print(c);}}System.out.println();}System.out.println(n - 2 * w * w + 1);} }總結(jié)
以上是生活随笔為你收集整理的PAT_B_1027_Java(20分)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Snap7模块在vs下的开发应用
- 下一篇: Win10局域网电脑怎么共享文件 Win