PAT—乙級真題訓練營—1001/1002
1001. 害死人不償命的(3n+1)猜想 (15)
時間限制400 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者CHEN, Yue
卡拉茲(Callatz)猜想:
對任何一個自然數n,如果它是偶數,那麼把它砍掉一半;如果它是奇數,那麼把(3n+1)砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到n=1。卡拉茲在1950年的世界數學家大會上公佈了這個猜想,傳說當時耶魯大學師生齊動員,拼命想證明這個貌似很傻很天真的命題,結果鬧得學生們無心學業,一心只證(3n+1),以至於有人說這是一個陰謀,卡拉茲是在蓄意延緩美國數學界教學與科研的進展……
我們今天的題目不是證明卡拉茲猜想,而是對給定的任一不超過1000的正整數n,簡單地數一下,需要多少步(砍幾下)才能得到n=1?
輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。
輸出格式:輸出從n計算到1需要的步數。
輸入樣例:3輸出樣例:
5
#include <stdio.h> int main(){ int n=0; scanf("%d",&n); int i=0; while(n!=1) { if(n%2==1){ n =(3*n+1)/2; } else{ n=n/2; } i++; } printf("%d",i); return 0; }
1002. 寫出這個數 (20)
時間限制400 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者CHEN, Yue
讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。
輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後一個拼音數字後沒有空格。
輸入樣例:1234567890987654321123456789輸出樣例:
yi san wu
#include<stdio.h> #include<string.h> #include <stdlib.h> void print_sum(int n){ char *name[] ={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; int a[10]; int i=0; for(i=0;n>=10;i++){ a[i]=n%10; n=n/10; } a[i++]=n; while(i--){ if(i!=0){ printf("%s ",name[a[i]]); }else{ printf("%s\n",name[a[i]]); } } } int main(){ char s[100]; char *n=s; scanf("%s",s); int sum=0; while(*n!='\0'){ sum=sum+(*n-'0'); n++; } print_sum(sum); }
相關推薦
PAT—乙級真題訓練營—1001/1002
1001. 害死人不償命的(3n+1)猜想 (15)時間限制400 ms記憶體限制65536 kB程式碼長度限制8000 B判題程式Standard作者CHEN, Yue卡拉茲(Callatz)猜想:對
PAT乙級真題及訓練集-1001
卡拉茲(Callatz)猜想:對任何一個自然數n,如果它是偶數,那麼把它砍掉一半;如果它是奇數,那麼把(3n+1)砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到n=1。卡拉茲在1950年的世界數學家大會上公佈了這個猜想,傳說當時耶魯大學師生齊動員,拼命想證明這個貌似很傻很天真的命題,結果鬧得學生們無心學業
1002. 寫出這個數 (20)-PAT乙級真題
讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。 輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後一個拼音數字後沒有空格。 輸入樣例:1234567890987654
PAT乙級,題號1001,3n+1猜想
1.因為要把n最終砍成1,所以如果n不是1的話,要對n進行操作,所以需要一個迴圈語句(for,while) 2.判斷n的奇偶,對奇偶數有不同的處理,所以需要一個選擇語句(if,switch) #include<iostream>using namespace std; int
PAT 乙級真題 1003 我要通過!題解
1003 我要通過! (20 分) “答案正確”是自動判題系統給出的最令人歡喜的回覆。本題屬於 PAT 的“答案正確”大派送 —— 只要讀入的字串滿足下列條件,系統就輸出“答案正確”,否則輸出“答案錯誤”。 得到“答案正確”的條件是: 字串中必須僅有 P、
1068. 萬綠叢中一點紅(20)-PAT乙級真題
通過這個我們可以學到 1、對於怎麼判斷一個m*n的矩陣中每一個元素有沒有八個方向上的相鄰元素 int dir[8][2] = { {-1, -1}, //橫座標-1 縱座標-1 ,這是元素左下角的元素 {-1, 0}, //橫座標-1 縱座標不變,這是元素正左邊的元素 {-1, 1}, //
1074. 宇宙無敵加法器(20)-PAT乙級真題
1、 string ss1(s.length() - s1.length(), ‘0’); s1 = ss1 + s1; 這行實現的是在s1前面填0使s1與s等長 2、進位制轉換 for(int i = s.length() - 1; i >= 0; i–) { int mod = s
PAT乙級真題及訓練集 PAT (Basic Level) Practise (中文)1014. 福爾摩斯的約會
大偵探福爾摩斯接到一張奇怪的字條:“我們約會吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大偵探很快就明白了,字條上奇怪的亂碼實際上就是約會的時間“星期四 14:04”,因為前面兩字串中第1對相同的大寫英
PAT乙級真題及訓練集 PAT (Basic Level) Practise (中文)1013. 數素數
令Pi表示第i個素數。現任給兩個正整數M <= N <= 104,請輸出PM到PN的所有素數。 輸入格式: 輸入在一行中給出M和N,其間以空格分隔。 輸出格式: 輸出從PM到PN的所有素數,每10個數字佔1行,其間以空格分隔,但行末不得有多餘空格。
PAT乙級真題及訓練集 PAT (Basic Level) Practise (中文)1012. 數字分類
給定一系列正整數,請按要求對數字進行分類,並輸出以下5個數字:A1 = 能被5整除的數字中所有偶數的和;A2 = 將被5除後餘1的數字按給出順序進行交錯求和,即計算n1-n2+n3-n4...;A3 = 被5除後餘2的數字的個數;A4 = 被5除後餘3的數字的平均數,精確到小數點後1位;
PAT乙級真題及訓練集 PAT (Basic Level) Practise (中文)1011. A+B和C
給定區間[-231, 231]內的3個整數A、B和C,請判斷A+B是否大於C。 輸入格式: 輸入第1行給出正整數T(<=10),是測試用例的個數。隨後給出T組測試用例,每組佔一行,順序給出A、B和C。整數間以空格分隔。 輸出格式: 對每組測試用例,在一行中
PAT乙級真題及訓練集 PAT (Basic Level) Practise (中文)1010. 一元多項式求導
設計函式求一元多項式的導數。(注:xn(n為整數)的一階導數為n*xn-1。) 輸入格式:以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。 輸出格式:以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多
pat乙級真題1002_寫出這個數
題目:讀入一個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。 輸入格式: 每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10100。 輸出格式: 在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格
pat乙級真題1004_成績排名_C++
讀入 n(>0)名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。 輸入格式: 每個測試輸入包含 1 個測試用例,格式為 第 1 行:正整數 n 第 2 行:第 1 個學生的姓名 學號 成績 第 3 行:第 2 個學生的姓名 學號 成績 .
1034. 有理數四則運算(20)-PAT乙級真題
1034. 有理數四則運算(20)本題要求編寫程式,計算2個有理數的和、差、積、商。輸入格式:輸入在一行中按照“a1/b1 a2/b2”的格式給出兩個分數形式的有理數,其中分子和分母全是整型範圍內的整數
1003. 我要通過!(20)-浙大PAT乙級真題
1003. 我要通過!(20)“答案正確”是自動判題系統給出的最令人歡喜的回覆。本題屬於PAT的“答案正確”大派送 —— 只要讀入的字串滿足下列條件,系統就輸出“答案正確”,否則輸出“答案錯誤”。得到“
1058. 選擇題(20)-PAT乙級真題
1058. 選擇題(20)批改多選題是比較麻煩的事情,本題就請你寫個程式幫助老師批改多選題,並且指出哪道題錯的人最多。 輸入格式: 輸入在第一行給出兩個正整數N(<=1000)和M(<
1084. 外觀數列 (20) PAT乙級真題
1084. 外觀數列 (20)外觀數列是指具有以下特點的整數序列:d, d1, d111, d113, d11231, d112213111, ... 它從不等於 1 的數字 d 開始,序列的第 n+1 項是對第 n 項的描述。比如第 2 項表示第 1 項有 1 個 d,所以
1080. MOOC期終成績 (25)-PAT乙級真題
1080. MOOC期終成績 (25)對於在中國大學MOOC(http://www.icourse163.org/)學習“資料結構”課程的學生,想要獲得一張合格證書,必須首先獲得不少於200分的線
1070. 結繩(25) PAT乙級真題
1070. 結繩(25) 給定一段一段的繩子,你需要把它們串成一條繩。每次串連的時候,是把兩段繩子對摺,再如下圖所示套接在一起。這樣得到的繩子又被當成是另一段繩子,可以再次對摺去跟另一段繩子串連。每次串連後,原來兩段繩子的長度就會減半。 給定N段繩子的長度,你需