解決するには付属のP1618の三連勝単式(アップグレード版)

タイトル説明
B:再び全ての条件を満たすように決定さC、1、2、...、三つのグループに9,9番号、3×3桁の数字からなるそれぞれ、3 3桁の比がAであることであろう3 3桁、解無しであれば、出力はありません!!!。

入力フォーマット
3つの数字、A、B、C。

出力フォーマット
3つの数字のいくつかの行。各行は、番号順に配置されています。

私は、最初の333に111の最初の数を決定する必要があり、そしてそれは出力J、Kをスケーリングすることができ、それぞれのビットの数は全て除去が123456789を含んでいるかどうかを判断する、ように時間計算量は、その場合、A iは、割り切れるかどうかを計算することができます。複数のループよりも小さいです。

テスト変数の要件、テスト= 0を満たすために、データのニーズのない集合が存在しない場合、それはテストのセットを出力++、そのテストの終了時にサイズを決定するためにその出力Noかどうかを決定することができます!!!。

#include<stdio.h>
int main(){
	int te[9]={1,2,3,4,5,6,7,8,9},what=0,num[9];
	int judge=0,test=0,a,b,c,i,j,k,x=0,y=0;
	scanf("%d%d%d",&a,&b,&c);
	for(i=123;i<=333;i++){
		if(i%a!=0){
			continue;
		}
		what=0;
		j=i/a*b;
        k=i/a*c;
        num[0]=i/100;num[1]=i%100/10;num[2]=i%10;num[3]=j/100;num[4]=j%100/10;num[5]=j%10;num[6]=k/100;num[7]=k%100/10;num[8]=k%10;
        for(x=0;x<9;++x){
        	for(y=0;y<9;++y){
        		if(te[x]==num[y]){
        			what++;break;
				}
			}
		}
		if(what==9){
			printf("%d %d %d\n",i,j,k);
			test++;
		}
	}
	if(test==0){
		printf("No!!!\n");
	}
	return 0;
}
公開された36元の記事 ウォン称賛29 ビュー1026

おすすめ

転載: blog.csdn.net/bupt_sanqing/article/details/104709842