刷题Day9_3又是暴力枚举

前言

 目前在做暴力搜索的专题,学到了一个新方法;然后做了这道题P1618 三连击(升级版)
在这里插入图片描述
解题思路
 解题套路感觉差不多,就是利用9个for循环去枚举所有可能的情况,然后在最底层的循环处判断是否满足条件再去打印输出。直接上代码了:

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[]) {
	int A,B,C,a,b,c,d,e,f,g,h,i,m1,m2,m3,is_have=0;
	scanf("%d%d%d",&A,&B,&C);
	for(a=1;a<=9;a++){
		for(b=1;b<=9;b++){
			if(b==a){
				continue;
			}else{
				for(c=1;c<=9;c++){
					if(c==a||c==b){
						continue;
					}else{
						for(d=1;d<=9;d++){
							if(d==a||d==b||d==c){
								continue;
							}else{
								for(e=1;e<=9;e++){
									if(e==a||e==b||e==c||e==d){
										continue;
									}else{
										for(f=1;f<=9;f++){
											if(f==a||f==b||f==c||f==d||f==e){
												continue;
											}else{
												for(g=1;g<=9;g++){
													if(g==a||g==b||g==c||g==d||g==e||g==f){
														continue;
													}else{
														for(h=1;h<=9;h++){
															if(h==a||h==b||h==c||h==d||h==e||h==f||h==g){
																continue;
															}else{
																for(i=1;i<=9;i++){
																	if(i==a||i==b||i==c||i==d||i==e||i==f||i==g||i==h){
																		continue;
																	}else{
																		m1=100*a+10*b+c;
																		m2=100*d+10*e+f;
																		m3=100*g+10*h+i;
																		if((float)m2/m1==(float)B/A&&(float)m3/m1==(float)C/A&&(float)m3/m2==(float)C/B){
																			printf("%d %d %d\n",m1,m2,m3);
																			is_have=1;
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
    if(is_have){
    	;
	}else{
		printf("No!!!");
	}
	
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值