2012年1月13日 星期五

acm 10924 Prime Words

[心得] //0.004

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
  char s[30];
  int ans[53];
  int i,length,sum,flag;
   
  while(gets(s)!=NULL)
  {
     memset(ans,0,sizeof(ans));               
     length =strlen(s);
     sum=0;
     flag=0;                  
     for(i=0;i<length;i++)
     {
       if(isupper(s[i]))
          ans[(s[i]-38)]+=1;  /* 大寫A ASCII從65map到陣列ans27的位置 */
       else  
          ans[(s[i]-96)]+=1;  /* 小寫a ASCII從97map到陣列ans1的位置 */             
     } 
     for(i=1;i<53;i++)
     {            
       if(ans[i])
          sum=sum+ans[i]*i;                  
     }
     for(i=2;i<sum;i++)
     {
       if(sum %i ==0)
          flag=1;                    
     }
     if(flag)
       printf("It is not a prime word.\n");
     else 
       printf("It is a prime word.\n");
                      
  }   
  system("pause");
  return 0;   
}

沒有留言:

張貼留言