首页 > 学院 > 开发设计 > 正文

poj2190

2019-11-10 17:47:46
字体:
来源:转载
供稿:网友

题目大意:

ISBN有10个数字,把这10个数字分别乘以10,9,8,,,1加起来,如果等于11的整数倍,那么有效。X代表10,现在有个?,问?代表多少可以使得该ISBN有效

解题思路:

代码如下:

#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char ch[20]; int i,sum=0,mark,flag=0; gets(ch); for(i=0;i<10;i++) { if(ch[i]!='?'&&ch[i]!='X') { sum=sum+(10-i)*(ch[i]-'0'); } if(ch[i]=='X') { sum=sum+10; } if(ch[i]=='?') { mark=i; } } if(mark!=9) { for(i=0;i<10;i++) { if((sum+i*(10-mark))%11==0) { PRintf("%d/n",i); flag=1; break; } } } else { for(i=0;i<=10;i++) { if((sum+i*(10-mark))%11==0) { if(i==10) { printf("X/n"); flag=1; break; } else { printf("%d/n",i); flag=1; break; } } } } if(!flag) printf("-1/n"); return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表