演習:ブルーブリッジ第七管区カップ大会個人戦(港区方程式)

ここに画像を挿入説明

#include <stdio.h>
int main()
{
	double num[9];//表示九个数 //如果用int,结果会出错,成两千多 
	int count=0;//可能总数 
	for(num[0]=1;num[0]<=9;num[0]++){//固定ABCDEFGHI所对应的数字num[i],改变num[i]的取值,尝试完所有可能搭配后得出结果 
		for(num[1]=1;num[1]<=9;num[1]++){
			if(num[1]==num[0])continue;//continue是跳出当前循环从上一循环开始,实现后一个数与之前出现的数都不重复,从num[0]到num[8]依次出现9个不重复的数,且在循环中可以尝试完所有搭配 
			for(num[2]=1;num[2]<=9;num[2]++){
				if(num[2]==num[0]||num[2]==num[1])continue;
				for(num[3]=1;num[3]<=9;num[3]++){
					if(num[3]==num[0]||num[3]==num[1]||num[3]==num[2])continue;
					for(num[4]=1;num[4]<=9;num[4]++){
						if(num[4]==num[0]||num[4]==num[1]||num[4]==num[2]||num[4]==num[3])continue;
						for(num[5]=1;num[5]<=9;num[5]++){
							if(num[5]==num[0]||num[5]==num[1]||num[5]==num[2]||num[5]==num[3]||num[5]==num[4])continue;
							for(num[6]=1;num[6]<=9;num[6]++){
								if(num[6]==num[0]||num[6]==num[1]||num[6]==num[2]||num[6]==num[3]||num[6]==num[4]||num[6]==num[5])continue;
								for(num[7]=1;num[7]<=9;num[7]++){
									if(num[7]==num[0]||num[7]==num[1]||num[7]==num[2]||num[7]==num[3]||num[7]==num[4]||num[7]==num[5]||num[7]==num[6])continue;
									for(num[8]=1;num[8]<=9;num[8]++){
										if(num[8]==num[0]||num[8]==num[1]||num[8]==num[2]||num[8]==num[3]||num[8]==num[4]||num[8]==num[5]||num[8]==num[6]||num[8]==num[7])continue;
										
											if(num[0]+num[1]/num[2]+(num[3]*100+num[4]*10+num[5])/(num[6]*100+num[7]*10+num[8])==10){
												count++;
											
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	printf("可行总数:%d",count);
	return 0;
} 

注:引き続き、精密操作(ダブル、int型)

リリース元の4件の記事 ウォンの賞賛0 ビュー75

おすすめ

転載: blog.csdn.net/Yo_Twenty/article/details/103939393