程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU 3063 Play game

HDU 3063 Play game

編輯:C++入門知識

HDU 3063 Play game


 

 

Play game

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 382 Accepted Submission(s): 158



Problem Description 幼兒園的老師總是喜歡和孩子們玩游戲,他們經常會讓孩子們圍成一圈,然後開始玩報數游戲,從其中的一個孩子開始,1,2,3,4,5......一個個報下去,如果一個孩子報錯了,那麼那個孩子就要表演節目給大家看哦。
今天,學校裡新來了一個小明老師,她突發奇想,想考考大家,於是她也出了一個游戲,游戲規則是這樣的:
1.n個孩子們站成一排,編號分別是1,2,3,4......n
2.孩子們手上都拿著一張紙,若這個孩子的編號是i,那麼紙上的數字是i*(i+1)*(i+2)
3.如果孩子只說出自己的紙上的數字, 那麼是不難的,可是, 孩子要說出,前面所有孩子和自己紙上的和.例如,晶晶的編號是2,那麼她要說1*2*3+2*3*4 = 30,其實很好懂, 對不對。。。
哎, 這可為難了小朋友啊,那麼難的題目, 而且, 那麼多的小朋友, 該怎麼辦呢,你來幫幫他們好嗎?

Input 輸入孩子的編號n(1<=n<=10^100)
Output 孩子該報出來的數,最後 mod 9999
Sample Input
1
2
3

Sample Output
6
30
90


 

好像挺直接的一個題目,不知道比賽的時候為什麼那麼捉急。

 

#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;
typedef long long ll;
const int mod = 9999;
char s[10009];
ll num[11009];

ll fun(ll x)
{
    return x*(x+1)*(x+2);
}

void init()
{
    memset(num,0,sizeof num);
    for(int i=1;i<=10009;i++)
    {
        num[i]=(num[i-1]+fun(i))%mod;
    }
}

int main()
{
    init();
    while(~scanf(%s,s))
    {
        int len=strlen(s);
        ll ans=0;
        for(int i=0;i

 

 

 

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved