蓝桥杯.奇妙的数字(暴力)
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯.奇妙的数字(暴力)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Question:
題目描述
本題為填空題,只需要算出結(jié)果后,在代碼中使用輸出語(yǔ)句將所填結(jié)果輸出即可。
小明發(fā)現(xiàn)了一個(gè)奇妙的數(shù)字。它的平方和立方正好把?0?~?9?的?10個(gè)數(shù)字每個(gè)用且只用了一次。
你能猜出這個(gè)數(shù)字是多少嗎?
運(yùn)行限制
- 最大運(yùn)行時(shí)間:1s
- 最大運(yùn)行內(nèi)存: 128M
Result:? 69
Solve:
看到以后想都不用想直接寫,唯一可想的點(diǎn)就是這個(gè)數(shù)肯定是倆位數(shù),三位數(shù)的話會(huì)超出平方和與立方和一共九個(gè)數(shù)的限制
不過(guò)我很納悶為什么藍(lán)橋OJ過(guò)不了我的代碼,我隨便揪個(gè)編譯器1s之內(nèi)都能跑出來(lái),準(zhǔn)確的說(shuō)是秒出,大無(wú)語(yǔ)事件~
Code:
#include <bits/stdc++.h> using namespace std; int cnt[10]; //計(jì)數(shù) int Cnt (int x){bool ans = true;while(x){cnt[x % 10]++;if(cnt[x % 10] > 1){return -1;}x /= 10;} } //檢測(cè) bool check(){for(int i = 0; i <= 9; i++){if(cnt[i] != 1) return false;}return true; } int main(void) {for(int i = 11; ;i++){memset(cnt, 0, sizeof(cnt));if(Cnt(i*i) == -1 || Cnt(i*i*i) == -1) continue;if(check()){cout <<i;return 0;}}return 0; }最后附上藍(lán)橋杯匯總鏈接:藍(lán)橋杯C/C++A組省賽歷年真題題解?
聲明:以個(gè)人刷題整理為目的,如若侵權(quán),請(qǐng)聯(lián)系刪除~
總結(jié)
以上是生活随笔為你收集整理的蓝桥杯.奇妙的数字(暴力)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言 鼠标指针图标,WIN7系统鼠标图
- 下一篇: 友基-绘影G10数位屏到底是个什么东西呢