第三屆藍橋杯javaC組_手機尾號

來源:互聯網
上載者:User

標籤:聲明   程式   1.7   import   class   標準輸入   java   表示   void   

/* (程式頭部注釋開始)

* 程式的著作權和版本聲明部分

* Copyright (c) 2016, 廣州科技貿易職業學院資訊工程系學生 

* All rights reserved.

* 檔案名稱: 藍橋杯賽題                           

* 作    者:   彭俊豪               

* 完成日期:   2016   年 04月 01日

* 版 本 號:      001   

* 對任務及求解方法的描述部分

* 問題描述:

30年的改革開放,給中國帶來了翻天覆地的變化。2011全年中國手機產量約為11.72億部。手機已經成為百姓的基本日用品!

給手機選個好聽又好記的號碼可能是許多人的心愿。但號源有限,只能輔以有償選號的方法了。

這個程式的目的就是:根據給定的手機尾號(4位),按照一定的規則來打分。其規則如下:

1. 如果出現連號,不管升序還是降序,都加5分。例如:5678,4321都滿足加分標準。

2. 前三個數字相同,或後三個數字相同,都加3分。例如:4888,6665,7777都滿足加分的標準。注意:7777因為滿足這條標準兩次,所以這條規則給它加了6分。

3. 符合AABB或者ABAB模式的加1分。例如:2255,3939,7777都符合這個模式,所以都被加分。注意:7777因為滿足這條標準兩次,所以這條標準給它加了2分。

4. 含有:6,8,9中任何一個數字,每出現一次加1分。例如4326,6875,9918都符合加分標準。其中,6875被加2分;9918被加3分。

尾號最終得分就是每條標準的加分總和!

要求程式從標準輸入接收資料,在標準輸出上輸出結果。

輸入格式為:第一行是一個整數n(<100),表示下邊有多少輸入行,接下來是n行4位一組的資料,就是等待計算加分的手機尾號。
輸出格式為:n行整數。

* 輸入描述: 

例如,輸入:
14
3045
0211
2345
6543
7777
8888
7878
7788
6688
2424
2244
9918
6789
8866

* 程式輸出:

0
0
5
6
8
12
3
3
5
1
1
3
8
5

* 程式頭部的注釋結束

*/

上代碼:

import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int arr[] = new int[n];
    for (int i = 0; i < n; i++) {
      arr[i] = sc.nextInt();
    }
    f(arr);

  }
  public static void f(int[] arr){
  int sum = 0;
    for (int i = 0; i < arr.length; i++) {
      int a = arr[i]/1000;
      int b = arr[i]/100%10;
      int c = arr[i]/10%10;
      int d = arr[i]%10;

      if (a-b==1&&b-c==1&&c-d==1)    sum += 5;
      if (d-c==1&&c-b==1&&b-a==1)      sum += 5;
      if (a==b && b==c)           sum += 3;
      if (b==c && c==d)           sum += 3;
      if (a==b&&c==d)             sum += 1;
      if (a==c&&b==d)             sum += 1;
      if (a==6)                  sum += 1;
      if (b==6)                sum += 1;
      if (c==6)                sum += 1;
      if (d==6)                  sum += 1;
      if (a==8)                sum += 1;
      if (b==8)                  sum += 1;
      if (c==8)                 sum += 1;
      if (d==8)                sum += 1;
      if (a==9)                 sum += 1;
      if (b==9)                sum += 1;
      if (c==9)                sum += 1;
      if (d==9)                  sum += 1;
      System.out.println(sum);
      sum = 0;
    }
  }
}

第三屆藍橋杯javaC組_手機尾號

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.