当前位置: 首页 > article >正文

PTA6-18 数字校验

目录

1.问题描述

裁判测试程序样例:

2.输入和输出样例

输入样例1:

输出样例1:

输入样例2:

输出样例2:

3.实现代码

    ​编辑


1.问题描述

本题要求实现一个函数,校验一个13位正整数号码是否正确。13位号码的最后一位是校验码。通过对前12位数字的加减乘除运算得到一个一位数字,如果和第13位数字相同,表示正确的号码。

1、从最右边第12位开始间隔一位个位数相加,然后乘7。

2、剩下的其余数字相加,然后乘2 。

3、再把两者加起来,除以10取余数

4、和第13位相校验,匹配就正确,不匹配则错误。

裁判测试程序样例:

import java.util.Scanner;
public class Main {
    /* 请在这里填写答案 */
    public static void main(String[] args) {
                    Scanner in = new Scanner(System.in);
                    long code = in.nextLong();

                    boolean checksumResult = checksum(code);
                    if (checksumResult)
                         System.out.println("The checksum of "+code+" is "+ "correct");
                    else
                            System.out.println("The checksum of "+code+" is "+ "incorrect");
            }
}

2.输入和输出样例

输入样例1:

在这里给出一组输入。例如:

1234567890126

输出样例1:

在这里给出相应的输出。例如:

The checksum of 1234567890126 is correct

输入样例2:

在这里给出一组输入。例如:

2345677654329

输出样例2:

在这里给出相应的输出。例如:

The checksum of 2345677654329 is incorrect

3.实现代码

public static boolean checksum(long ss) {
        long flag = 0;
        long sum1 = 0;
        long sum2 = 0;
        long check=ss%10;
        for (int i = 11; i >= 0; i--) {
            if (flag == 0) {
                sum1 += ss/10%10;
                flag = 1;
                ss/=10;
            } else {
                flag = 0;
                sum2 +=ss/10%10;
                ss/=10;
            }
        }
        long sum = sum1 * 7 + sum2 * 2;
        sum = sum % 10;
        if (sum == check) {
            return true;
        } else return false;
    }

    


http://www.kler.cn/a/468688.html

相关文章:

  • MySQL和Hive中的行转列、列转行
  • Nginx——负载均衡与缓存(四/五)
  • 【开源免费】基于SpringBoot+Vue.JS海滨学院班级回忆录系统(JAVA毕业设计)
  • WIN10系统查看连接的无线网密码
  • 【微信小程序获取用户手机号
  • C++23 格式化输出新特性详解: std::print 和 std::println
  • 小E君自助餐厅流量分析
  • UOS 系统 Qt 版本切换
  • Linux 信号(结合系统理解)
  • 小结:DNS,HTTP,SMTP,IMAP,FTP,Telnet,TCP,ARP,ICMP
  • C#设计模式(行为型模式):状态模式
  • web实操9——session
  • 基于傅立叶神经网络(FNN)与物理信息神经网络(PINN)求解泊松方程(附Pytorch源代码)
  • 高等数学学习笔记 ☞ 连续与间断
  • weblogic安装 12.2.1.4.0 单机
  • 工程师了解的Lua语言
  • Python 使用会话 ID 管理多轮对话
  • web应用安全评估报告:会话Cookie未设置Secure属性(如果网站未部署 HTTPS,则无法使用 Secure 属性。)
  • 计算机网络--路由表的更新
  • Verilog语法之模块与端口