zoukankan      html  css  js  c++  java
  • hdu 2714

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=2714

    题意:给一串ISBN号,根据算法求出缺的(?表示)那一位。算法是各位上的数字按权相加,和必须为11的倍数。

    没啥好说的,直接穷举。注意不存在输出-1。

    代码:

     1 # include <stdio.h>
     2 
     3 
     4 int main ()
     5 {
     6     char str[20] ;
     7     int sum, i, pos ;
     8     while (gets(str))
     9     {
    10         sum = 0 ;
    11         for (i = 0 ; str[i] ; i++)
    12         {
    13             if (str[i] == '?') pos = i ;
    14             else if (str[i] == 'X') sum += 10 ;
    15             else sum += (10-i) * (str[i]-'0') ;
    16         }
    17         if (pos == 9)
    18         {
    19             if ((sum+10)%11==0) puts ("X") ;
    20             else{
    21                 for (i = 0 ; i <= 9 ; i++){
    22                     if ((sum + i)%11==0){ printf ("%d\n", i) ;
    23                     break ;}
    24                 }
    25             }
    26         }
    27         else
    28         {
    29             for (i =0 ; i <= 9 ; i++)
    30             {
    31                 if ((sum + (10-pos)*i)%11 == 0)
    32                 {
    33                     printf("%d\n", i) ;
    34                     break ;
    35                 }
    36             }
    37             if (i >=10) puts ("-1") ;
    38         }
    39     }
    40     return 0 ;
    41 }
  • 相关阅读:
    树的同构
    最大子列和
    多项式的表示和运算
    图1
    集合及运算
    树4
    树3
    树2
    期末作业验收
    个人总结
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/2543846.html
Copyright © 2011-2022 走看看