第三屆“傳智杯”全國(guó)大學(xué)生IT技能大賽(練習(xí)賽) 題解

A 各數(shù)字之和

題目描述

在這里插入圖片描述

思路:一開(kāi)始想的是回溯算法,后來(lái)想到暴力也不會(huì)超時(shí)就用的暴力

代碼

#include <iostream>

using namespace std;


int n;
int cnt;
int sum;

bool check(int k){
    sum = 0;
    while(k){
        if(sum > 9)
            return false;
        sum += k % 10;
        k /= 10;
    }
    
    if(sum == 9)
        return true;
    return false;
}

int main(){
    
    cin>>n;
   
    for(int i = 9;i<=n;i++){
        if(check(i)){
            cnt++;
        }
    }
     
    cout<<cnt<<endl;
    
    return 0;
}

B 直角三角形

題目描述

在這里插入圖片描述

思路:暴力枚舉

#include <iostream>
#include <cmath>

using namespace std;


int a,b,c;

int main(){
    
    cin>>c;
    int s = c * c;
    for(int a = 1; a * a * 2 <= s;a++){
        b = sqrt(s - a * a);
        if(b * b + a * a == c * c){
            cout<<a<<" "<<b<<endl;
            return 0;
        }
    }

    return 0;
}

C 單位轉(zhuǎn)換

題目描述

在這里插入圖片描述

思路:字符串分離操作

代碼

#include <stdio.h>
#include <string.h>

double p[15];

char str[20];

double res, t;
int main(){
    
    p[0] = 1;
    p[9] = 1024;
    p[11] = 1024 * 1024;
    p[5] = 1024 * 1024 * 1024;
    scanf("%s",str);
    int i = 0;
    int len = strlen(str);
    while(str[i] >= '0' && str[i] <= '9') res = res * 10 + (str[i] - '0'), i++;
    char c = str[i];
    char c2;
    if(str[len - 2] >= 'A' && str[len - 2] <= 'Z')
        c2 = str[len- 2];
    else
        c2 = str[len - 1];
    
    res *= p[c - 'B'];   //轉(zhuǎn)換為B;
    res /=  (p[c2 - 'B']) * 1.0;
    
    printf("%.6f",res);
    
    return 0;
}

D 評(píng)委打分

題目描述

在這里插入圖片描述

思路:題目說(shuō)的很清楚

#include <stdio.h>
#include <string.h>

double avg;
int n, sum, num;
int max_value, min_value;

int max(int a, int b){
    return a > b ? a : b;
}

int min(int a, int b){
    return a < b ? a : b;
}
int main(){
    
    max_value = 0;
    min_value = 100;
    scanf("%d",&n);
    for(int i = 0;i<n;i++){
        scanf("%d",&num);
        sum += num;
        max_value = max(max_value,num);
        min_value = min(min_value,num);
        if(i >= 2){
            sum = sum - max_value - min_value;
            avg = sum / ((i - 1) * 1.0);
            printf("%.2f\n",avg);
            sum = sum + max_value + min_value;
        }
    
    }
    return 0;
}

E 儒略歷

題目描述
在 1582 年之前帝雇,以 4 為倍數(shù)的年份為閏年辕漂。正常情況下拟糕,一年中一月到十二月的天數(shù)分別是 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 天注祖。如果這年是閏年谓厘,那么二月則有 29 天财剖。

但某位皇帝發(fā)現(xiàn)這么做其實(shí)不夠準(zhǔn)確悠夯,會(huì)造成誤差,因此規(guī)定從 1582 年開(kāi)始躺坟,以 4 為倍數(shù)的年份沦补,除了以 100 為倍數(shù)且不為 400 的倍數(shù)年份,才是閏年咪橙。同時(shí)為了消除誤差夕膀,規(guī)定 1582 年 10 月 4 日的下一天是 1582 年 10 月 15 日,中間的日期就當(dāng)作不存在了美侦。

現(xiàn)在給出日期产舞,計(jì)算這個(gè)日期到公元 1 年 1 月 1 日經(jīng)過(guò)的天數(shù)。

在這里插入圖片描述

在這里插入圖片描述

這道題目讀了挺久才看懂菠剩,意思大概是:在1582年之前判斷閏年是i % 4 == 0就行易猫,而在之后,判斷閏年(i % 4 == 0 && i % 100 != 0) || i % 400 == 0,而1582年10.15已及以后都要減去10天

思路:直接先枚舉 i - 1年之前判斷是否為閏年具壮,確定加365還是366准颓,而第i年就直接枚舉月份哈蝇,最后加上尾巴上的天數(shù),然后如果是1582年要特判是否減10

代碼

#include <iostream>
#include <map>
#include <string>
using namespace std;


int month1[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
int month2[12] = {31,28,31,30,31,30,31,31,30,31,30,31};

string str;
int year, month, day;
int res;

map<string,int> mp;

int main(){
    
    mp["JAN"] = 1;
    mp["FEB"] = 2;
    mp["MAR"] = 3;
    mp["APR"] = 4;
    mp["MAY"] = 5;
    mp["JUN"] = 6;
    mp["JUL"] = 7;
    mp["AUG"] = 8;
    mp["SEP"] = 9;
    mp["OCT"] = 10;
    mp["NOV"] = 11;
    mp["DEC"] = 12;
    cin>>str;
    int i = 0;
    while(str[i] >= '0' && str[i] <= '9')   day = day * 10 + (str[i] - '0'),i++;
    string str1 = str.substr(i,3);
    month = mp[str1];
    i += 3;
    while(i < str.size())  year = year * 10 + (str[i] - '0'),i++;
    
    
    for(int i = 1; i < year;i++){
        if(i < 1582 ){
            if(i % 4 == 0)
                res += 366;
            else
                res += 365;
        }else{
            if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
                res += 366;
            else
                res += 365;
            
        }
        if(i == 1582){
            res -= 10;
        }
    }
    
    if(year < 1582){
        if(year % 4 == 0){
            for(int i = 0;i < month - 1 ;i++)
                res += month1[i];
        }else{
            for(int i = 0;i < month - 1 ;i++)
                res += month2[i];
        }
        
    }else{
        if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
            for(int i = 0;i < month - 1 ;i++)
                res += month1[i];
        }else{
            for(int i = 0;i < month - 1 ;i++)
                res += month2[i];
        }
    }
    
    res += day;
    
    if(year == 1582 && ((month == 10 && day >= 15) || month >= 11)){
        res -= 10;
    }
    
    cout<<res - 1<<endl;
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末攘已,一起剝皮案震驚了整個(gè)濱河市炮赦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌贯被,老刑警劉巖眼五,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異彤灶,居然都是意外死亡看幼,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)幌陕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)诵姜,“玉大人,你說(shuō)我怎么就攤上這事搏熄∨锼簦” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵心例,是天一觀的道長(zhǎng)宵凌。 經(jīng)常有香客問(wèn)我,道長(zhǎng)止后,這世上最難降的妖魔是什么瞎惫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮译株,結(jié)果婚禮上瓜喇,老公的妹妹穿的比我還像新娘。我一直安慰自己歉糜,他們只是感情好乘寒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著匪补,像睡著了一般伞辛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夯缺,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天始锚,我揣著相機(jī)與錄音,去河邊找鬼喳逛。 笑死瞧捌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播姐呐,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼殿怜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了曙砂?” 一聲冷哼從身側(cè)響起头谜,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸠澈,沒(méi)想到半個(gè)月后柱告,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笑陈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年际度,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涵妥。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乖菱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蓬网,到底是詐尸還是另有隱情窒所,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布帆锋,位于F島的核電站吵取,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏锯厢。R本人自食惡果不足惜皮官,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哲鸳。 院中可真熱鬧,春花似錦盔憨、人聲如沸徙菠。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)婿奔。三九已至,卻和暖如春问慎,著一層夾襖步出監(jiān)牢的瞬間萍摊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工如叼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冰木,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像踊沸,于是被迫代替她去往敵國(guó)和親歇终。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 久違的晴天逼龟,家長(zhǎng)會(huì)评凝。 家長(zhǎng)大會(huì)開(kāi)好到教室時(shí),離放學(xué)已經(jīng)沒(méi)多少時(shí)間了腺律。班主任說(shuō)已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)奕短。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,515評(píng)論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友匀钧。感恩相遇翎碑!感恩不離不棄。 中午開(kāi)了第一次的黨會(huì)榴捡,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,559評(píng)論 0 11
  • 可愛(ài)進(jìn)取杈女,孤獨(dú)成精。努力飛翔吊圾,天堂翱翔达椰。戰(zhàn)爭(zhēng)美好,孤獨(dú)進(jìn)取项乒。膽大飛翔啰劲,成就輝煌。努力進(jìn)取檀何,遙望蝇裤,和諧家園∑导可愛(ài)游走...
    趙原野閱讀 2,723評(píng)論 1 1
  • 在妖界我有個(gè)名頭叫胡百曉栓辜,無(wú)論是何事,只要找到胡百曉即可有解決的辦法垛孔。因?yàn)槭侵缓偞蠹乙杂瀭饔灲形摇皟A城百曉”藕甩,...
    貓九0110閱讀 3,256評(píng)論 7 3