import java.util.Scanner;

 public class Solution
 {
     public static void main(String[] args)
     {
         Scanner input = new Scanner(System.in);
         System.out.print("Enter an ID number: ");
         long id = input.nextLong();

         input.close();

         System.out.println(isValid(id));
     }

     public static boolean isValid(long number)
     {
         int sum = sumOfDoubleEvenPlace(number) + sumOfOddPlace(number);
         if(sum % 10 == 0)
             return true;
         else
             return false;
     }

     public static int sumOfDoubleEvenPlace(long number)
     {
         int sum = 0;
         while(number > 10)
         {
             sum += getDigit((int)(number % 10));
             number /= 10;
         }
         sum += getDigit((int)number);
         return sum;
     }

     public static int getDigit(int number)
     {
         if(number < 10)
             return number;
         else
             return number / 10 + number % 10;
     }

     public static int sumOfOddPlace(long number)
     {
         int sum = 0;
         for(int i = 2; i <= 10; i += 2)
             sum += (getPrefix(number, i) % 10);
         return sum;
     }

     public static boolean prefixMatched(long number, int d)
     {
         long longD = (long)d;
         if(getPrefix(number, getSize(d)) == longD)
             return true;
         else
             return false;
     }

     public static int getSize(long d)
     {
         int count = 1;
         while(d > 10)
         {
             count++;
             d /= 10;
         }
         return count;
     }

     public static long getPrefix(long number, int k)
     {
         if(getSize(number) < k)
             return number;
         else
         {
             String tempString = "" + number;
             tempString = tempString.substring(0, k);
             long temp = Long.parseLong(tempString);
             return temp;
         }
     }
 }

HW5.31的更多相关文章

  1. 城市代码表mysql

    只有代码: # ************************************************************ # Sequel Pro SQL dump # Version ...

  2. CSharpGL(31)[译]OpenGL渲染管道那些事

    CSharpGL(31)[译]OpenGL渲染管道那些事 +BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一 ...

  3. 计算机程序的思维逻辑 (31) - 剖析Arrays

    数组是存储多个同类型元素的基本数据结构,数组中的元素在内存连续存放,可以通过数组下标直接定位任意元素,相比我们在后续章节介绍的其他容器,效率非常高. 数组操作是计算机程序中的常见基本操作,Java中有 ...

  4. SQL Server查询第31到40条数据

    大致分为两种情况:ID连续和ID不连续. 1.ID连续的情况: 2.ID不连续的情况: (1).两次对表查询,效率较低. ID from A) (2).外层查询没有对表A进行查询,效率提高. ID f ...

  5. 把《c++ primer》读薄(3-1 标准库string类型初探)

    督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 问题1:养成一个好习惯,在头文件中只定义确实需要的东西 using namespace std; //建议需要什么再using声 ...

  6. 背水一战 Windows 10 (31) - 控件(按钮类): ButtonBase, Button, HyperlinkButton, RepeatButton, ToggleButton, AppBarButton, AppBarToggleButton

    [源码下载] 背水一战 Windows 10 (31) - 控件(按钮类): ButtonBase, Button, HyperlinkButton, RepeatButton, ToggleButt ...

  7. Lind.DDD.Manager里的3,7,15,31,63,127,255,511,1023,2047

    回到目录 进制 我是一个程序猿,我喜欢简单的数字,十进制如何,数字太多,有10种数字组成,但由于它广为人知,所有使用最为广泛,人们的惯性思维培养了十进制,并说它是最容易被计算的数字,事实上,在计算机里 ...

  8. 2017年1月5日 星期四 --出埃及记 Exodus 21:31

    2017年1月5日 星期四 --出埃及记 Exodus 21:31 This law also applies if the bull gores a son or daughter.牛无论触了人的儿 ...

  9. 2016年12月31日 星期六 --出埃及记 Exodus 21:26

    2016年12月31日 星期六 --出埃及记 Exodus 21:26 "If a man hits a manservant or maidservant in the eye and d ...

随机推荐

  1. poj 1487 Single-Player Games

    主要考察表达式的解析和高斯消元!!! #include<iostream> #include<stdio.h> #include<algorithm> #inclu ...

  2. android 从系统相册获取一张图片

    package net.viralpatel.android.imagegalleray; import android.app.Activity; import android.content.In ...

  3. red5研究(一):下载,工程建立、oflaDemo安装、demo测试

    一.red5下载.添加工程到myeclipse 1,从官网上下载red51.01版本(我下载的是red51.0的版本),下载链接http://www.red5.org/downloads/red5/1 ...

  4. 在其他的电脑上配置绿色Jre+tomcat运行环境

    其他的同事要使用我们的web程序(基于tomcat的web程序).所以要求是对方的电脑任何程序都不需要安装,把我们的包拷贝过去,直接执行批处理就可以运行. 经过了一番摸索,实现方式如下: 1,准备jr ...

  5. Android 去除EditText边框,添加下划线,

    首先:重写EditText //请在这里添加您的包名 import android.content.Context; import android.graphics.Canvas; import an ...

  6. tortoisesvn › prefer local prefer repository

    tortoisesvn › prefer local prefer repository

  7. WPF控件模板和数据模板

    来自:http://www.th7.cn/Program/WPF/2011/12/21/51676.shtml ControlTemplate用于描述控件本身. 使用TemplateBinding来绑 ...

  8. centos下apache+mysql+php安装及配置

    今天难得休闲,自从加盟当前公司以来好像就基本没有写过博客了.难得闲下来和前同事聊天,他们几个人合伙买了VPS在用.这对我们搞WEB开发的童鞋来说是非常重要的,我来这家公司有许久了,但是竟然到现在连一台 ...

  9. delphi使用 第三方控件

    第三方控件安装时必须把所有的pas,dcu,dpk,res等文件复制到你的Lib目录下 然后通过dpk进行安装 安装后会多出来新的控件面板,新控件就在那里了 当然也有一些控件会安装到原有的面板上 比如 ...

  10. Factorial

    Factorial  计算阶乘 In mathematics, the factorial of a non-negative integer n, denoted by n!, is the pro ...