【第六届蓝桥杯】奇妙的数字
生活随笔
收集整理的這篇文章主要介紹了
【第六届蓝桥杯】奇妙的数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:奇妙的數字
小明發現了一個奇妙的數字。它的平方和立方正好把0~9的10個數字每個用且只用了一次。
你能猜出這個數字是多少嗎?
?
請填寫該數字,不要填寫任何多余的內容。
?
?
答案:69
?
C++代碼一:
#include <iostream> #include <algorithm> #include <cmath> using namespace std;bool isNum(int i){bool flag[10] = {0};int m = i*i, k, j;do{k = m%10;if(flag[k] == 1)return false;flag[k] = 1;m /= 10; }while(m > 0); m = i*i*i;do{k = m%10;if(flag[k] == 1)return false;flag[k] = 1;m /= 10; }while(m > 0);return true; }int main(){for(int i = 50; ; i++){if(isNum(i)){cout << i;break;}}return 0; }?
?
C++代碼二:
#include <set> #include <iostream> using namespace std;int main() {int k, k2, k3;for (k = 10; k < 100; ++k){set<int> s;k2 = k * k;k3 = k2 * k;while (k2) {s.insert(k2 % 10);k2 /= 10;}while (k3) {s.insert(k3 % 10);k3 /= 10;}if (10 == s.size())break;}cout << k << endl;return 0; }?
?
C++代碼三:
#include <set> #include <iostream> using namespace std;int main() {for (int k = 10, k2, k3; k < 100; ++k){set<int> s;k2 = k * k;k3 = k2 * k;do {s.insert(k2 % 10);} while (k2 /= 10); do {s.insert(k3 % 10);} while (k3 /= 10);if (10 == s.size()){cout << k << endl;return 0;}}return 0; }?
?
C++代碼四:
#include <iostream> using namespace std;int main() {int k, k2, k3;for(k = 10; k < 100; ++k) {int i, a[10] = {0};k2 = k * k;k3 = k * k2;do {++a[k2 % 10];} while (k2 /= 10);do {++a[k3 % 10];} while (k3 /= 10);for (i = 0; i < 10; ++i)if (a[i] != 1) break;if (i == 10) break; }cout << k << endl;return 0; }?
?
C++代碼五:
#include <iostream> #include <algorithm> using namespace std;int main() {int k, k2, k3, a[9] = {1,2,3,4,5,6,7,8,9};for(k = 10; k < 100; ++k) {int i, a[10] = {0};k2 = k * k;k3 = k * k2;do {++a[k2 % 10];} while (k2 /= 10);do {++a[k3 % 10];} while (k3 /= 10);for (i = 0; i < 10; ++i)if (a[i] != 1) break;if (i == 10) break; }cout << k << endl;return 0; }?C++代碼六:
#include <iostream> using namespace std; int sum; bool isOk(int n, int *v) {while(n > 0) {if(v[n%10])return false;v[n%10] = 1;sum++;n /= 10;}return true; }int main() {for(int i = 10; ; i++) {int v[10] = {0};sum = 0;if(isOk(i*i, v) && isOk(i*i*i, v) && sum == 10) {cout << i;return 0;}} }?
?
第六屆藍橋杯所有組試題與部分答案
總結
以上是生活随笔為你收集整理的【第六届蓝桥杯】奇妙的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lena图
- 下一篇: Lena图像分解成小块与从小块合成