原题链接:蓝桥杯算法提高VIP-寻找三位数
九位数的枚举太靠运算量,我直接从基础开始,三位数的循环,分别求出这个三位数的两倍 三倍,第一步把加倍后四位数的值统统筛选掉,第二步,把所有的数拆成一个个的小数字,用if判断排除掉有相同数字的数,最后输出的结果就是题目结果
参考代码:
#include<stdio.h> int main() { int i=100,m,n; int a,b,c,d,e,f,x,y,z; for(i=100;i<1000;i++) { m=2*i; n=3*i; a=i/100; b=i%100/10; c=i%10; d=m/100; e=m%100/10; f=m%10; x=n/100; y=n%100/10; x=n%10; if(m>100&&m<1000&&n>100&&n<1000) { if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=x&&a!=y&&a!=z&&a!=0) { if(b!=c&&b!=d&&b!=e&&b!=f&&b!=x&&b!=y&&b!=z&&b!=0) { if(c!=d&&c!=e&&c!=f&&c!=x&&c!=y&&c!=z&&c!=0) { if(d!=e&&d!=f&&d!=x&&d!=y&&d!=z&&d!=0) { if(e!=f&&e!=x&&e!=y&&e!=z&&e!=0) { if(f!=x&&f!=y&&f!=z&&f!=0) { if(x!=y&&x!=z&&x!=0) { if(y!=z&&y!=0) { printf("%d %d %d\n",i,m,n); } } } } } } } } } } return 0; }
0.0分
3 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复