uva - 10924 - Prime Words 解题报告

原题链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1865

题目大意:输入一串字符(只有大写字母和小写字母),在字符串中,a代表1,b代表2,以此类推,z代表26,接着A代表27,B代表28,以此类推,Z代表52,将该字符串的字母值相加总和为质数的话,即为Prime Words。

 1 #include<stdio.h>
 2 int f(char s){  //判断字符代表的值//
 3     int n;
 4     if(s>='a'&&s<='z')
 5     n=s-96;
 6     if(s>='A'&&s<='Z')
 7     n=s-38;
 8     return n;}
 9 int main(){
10     int f(char s);
11     char a[20];
12     int i,p,sum,k;
13     while(scanf("%s",a)!=EOF){
14     sum=0;
15     for(i=0;a[i]!='\0';i++){
16     p=f(a[i]);
17     sum+=p;}
18     k=sum/2;     
19     for(i=2;i<=k;i++)    //质数的判断//
20     if (sum%i==0) break;
21     if (i>k) printf("It is a prime word.\n");
22     else printf("It is not a prime word.\n");
23     }
24 }

 

转载于:https://www.cnblogs.com/acmer-seven/archive/2013/02/22/2921998.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值