演算法競賽(二)

2021-09-09 06:35:30 字數 2845 閱讀 3093

目錄

一、aabb問題

二、7744問題

三、3n + 1 問題

四、近似計算

五、階乘之和

六、資料統計

問題描述:輸出所以形式為沒有 aabb 的完全平方數(例如1122,3344),bb可以為00,aa則不行,又aabb知,這是個四位數,由窮舉就可以把每個符合條件的列出來

沒有輸入:樣例輸出:110011111122

*****

源**:

#includeint main()

return 0;

}

問題描述:輸入乙個整數,判斷其是否為完全平方數(用乙個int 形變數m儲存sqrt(n)四捨五入後的整數,然後判斷m^2是否等於n,函式floor(x)返回不超過x的最大整數)

樣例輸出:7744源**:

#include#includeint main()

return 0;

}

問題描述:對於任意大於1的自然數n,若n為奇數,則將n變為3n+1,否則變為n的一半,經過若干次這樣的變換,一定會使n變為1,例如3—>10—>5—>16—>8—>4—>2—>1,可能輸入的n非常的大,有時候要把n改為long long型輸入n,輸出變換的次數

樣例輸入:3樣例輸出:7源**:

#includeint main()

printf("%d",count);

return 0;

}

問題描述:

,直到最後一項小於

樣例輸出:0.785399源**:

#includeint main()

printf("%.6f\n",sum);

return 0;

}

問題描述:輸入n,計算1!+2!+3!+4! * * * n!的末六位(不含前導0,只保留後六位數字)。n<=10^6,

樣例輸入:10樣例輸出:37913源**:

#includeint main()

printf("%d\n",s%1000000);

return 0;

}

問題描述:輸入一些整數,求出他們最大值,最小值,平均值(保留三位小數),輸入保證這些數都是不超過1000的整數

樣例輸入1 2 3樣例輸出1 3 2.000源**:

#includeint main()

printf("%d %d %.3f",min,max,s*1.0/n);

return 0;

}

ps:有時候,按下回車鍵,不一定意味著輸入結束,在windows環境下,我們輸入完成後,還要按下 ctrl + z,這個時候代表輸入結束,linux環境下,按下ctrl + d 可代表輸入結束

資料統計(重定向版)

//重定向法

#define local

#include#define inf 1000000000

int main()

printf("%d %d %.3f\n",min,max,(double)s/n);

return 0;

}

資料統計(fopen版)

#include#define inf 1000000000

int main()

fprintf(fout,"%d %d %.3f\n",min,max, (double)s/n);

fclose(fin);

fclose(fout);

return 0;

}

演算法競賽入門經典筆記(二) STL

演算法競賽入門經典 第2版 學習筆記 1.排序 include include using namespace std int main sort a,a n 排序 int p lower bound a,a 10,2 在已排序的陣列中找2的位置sort可以對任意物件進行排序,可以使用sort a,...

演算法競賽推薦

atcoder 首推,偏向思維鍛鍊,屬於思考兩小時,五分鐘。codeforces codechef 51nod 51nod的數學題可以說是一絕,可惜很長時間不辦比賽了。hackerrank 也有馬拉松賽制,不過要競速就沒有那麼休閒。題目難度分級比較好,就是感覺比較中規中矩,沒什麼亮點。現在似乎也很少...

演算法競賽 排列

1,2,3,7,8,9組成3個三位數abc,def和ghi,每個數字恰好使用一次,要求abc def ghi 1 2 3。輸出所有解。include using namespace std int main return 0 說明 sprintf 函式的原型 int sprintf char buf...