☰
P1008 [NOIP 1998 普及组] 三连击
2026/10/18 6:12:06 网站建设 项目流程

题目链接:

P1008 [NOIP 1998 普及组] 三连击 - 洛谷

最佳思路:

数据量小 直接枚举:

#include<bits/stdc++.h> using namespace std; bool f(int x,int y, int z) { int c[10] = {0}; int num[3] = {x,y,z}; for(int i = 0 ; i < 3;i++) { while(num[i] != 0) { c[num[i] % 10]++; num[i] /= 10; } } for(int i = 1;i < 10 ;i++) { if(c[i] != 1) return false; } return true; } int main() { for(int i = 123;i <= 329;i++) { if(f(i,2*i,3*i)) { cout << i << ' '<< 2*i <<' ' << 3*i <<endl; } } return 0; }

f()函数为查找这三个数每一个数出现的次数

同过一个记忆数组c

并配合%10再/10的过程

不断将每一位数“剥下来”

最后的查重不要忘记

i从1开始

因为0数字不存在

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询