HDOJ HDU 2672 god is a girl ACM 2672 IN HDU

本文介绍了如何利用C++语言解决一道HDOJ(High Difficulty Online Judge)上的独特编程问题。该问题结合了字符串操作和斐波那契数列的概念,要求读者不仅掌握基本的C++语法,还需理解如何将数学原理应用于实际编程中。通过实例解析,读者可以深入理解如何遍历字符串、处理字母并应用模运算,从而高效地求解问题。
摘要由CSDN通过智能技术生成
//MiYu原创, 转帖请注明 : 转载自 ______________白白の屋

题目地址 :
      http://acm.hdu.edu.cn/showproblem.php?pid=2672

好吧..............我承认, 当我看这题的解题报告时,  我被征服了................
代码如下:
//MiYu原创, 转帖请注明 : 转载自 ______________白白の屋

#include  < iostream >
#include 
< string >
#include 
< cctype >
using   namespace  std;
int  a[ 1001 =   011 } ;
int  main ()
{
    
// 第N个字母对应 第N个FIBONACI数列的第N项 ,当然,这是字母,要取模 
    for ( int i = 2; i < 1001++ i )
    
{
          a[i] 
= ( a[i - 1+ a[i - 2] ) % 26;     
    }

    
string str;  
    
while ( getline ( cin , str ) )
    
{
            
int num = 0;
            
for ( int i = 0; str[i]; ++i )
            
{
                  
//对每个A-Z字符进行处理 
                  if ( isupper ( str[i] ) )
                  
{
                       num 
++;
                       printf ( 
"%c", isupper ( str[i] + a[num] ) ? str[i] + a[num] : str[i] + a[num] - 26 );
                  }
 
                  
else 
                  
{
                       printf ( 
"%c", str[i] );
                  }

            }

            printf(
"\n");
    }

    
return 0;
}

转载于:https://www.cnblogs.com/MiYu/archive/2010/08/18/1802404.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值