第六届蓝桥杯A组C/C++ 第三题 奇妙的数字
生活随笔
收集整理的這篇文章主要介紹了
第六届蓝桥杯A组C/C++ 第三题 奇妙的数字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
小明發(fā)現(xiàn)了一個奇妙的數(shù)字。它的平方和立方正好把0~9的10個數(shù)字每個用且只用了一次。
你能猜出這個數(shù)字是多少嗎?
請?zhí)顚懺摂?shù)字,不要填寫任何多余的內容。
又是枚舉,沒得多說,暴力破解就是用來刷這種水題的,值得學習的就是判斷0~9的10個數(shù)字每個用且只用了一次這種技巧,想必聽過我的講座的都會寫吧。
#include <cstdio> #include <cstring> int a[10];bool check(int k) {int k2 = k*k, k3 = k*k*k;while(k2>0) {a[k2%10]++;k2 /= 10;} while(k3>0) {a[k3%10]++;k3 /= 10;}for(int i=0; i<10; i++) {if(a[i]!=1) return false;}return true; }int main() {for(int i=1; i<10000; i++) {memset(a, 0, sizeof(a));if(check(i)) {printf("%d %d %d\n", i, i*i, i*i*i);}}return 0; }答案是69
總結
以上是生活随笔為你收集整理的第六届蓝桥杯A组C/C++ 第三题 奇妙的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: extjs的Ext.grid.Edito
- 下一篇: Unity 动态修改鼠标指针