简单编程题1

1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

 

1.1给定四数连续

#include<iostream>
using namespace std;

int main(){

    int Count=0;
    for(int i=1;i<5;i++){

        for(int j=1;j<5;j++){
			
            for(int k=1;k<5;k++){

                if(i!=j&&j!=k&&k!=i){
					
                    cout<<i<<j<<k<<"\t";
                    Count++;
                }
            }
        }
    }
    cout<<"满足上述条件的数有"<<Count<<"个"<<endl;

    return 0;
}


备注:凑巧此四个数连续,直接三重for循环,确保三位数各个相同即可。如若给定四个数不连续,可用数组解决。

1.2给定四数不连续

#include<iostream>
using namespace std;

template <class T>
int getArrayLen(T& array){
    return (sizeof(array)/sizeof(array[0]));
}
int main(){
    int Count=0;
    int arr[4]={5,2,9,6};
    int arrLength=getArrayLen(arr);

    for(int i=0;i<arrLength;i++){
        for(int j=0;j<arrLength;j++){
            for(int k=0;k<arrLength;k++){
                if(arr[i]!=arr[j]&&arr[j]!=arr[k]&&arr[k]!=arr[i]){
                    cout<<arr[i]<<arr[j]<<arr[k]<<"\t";
                    Count++;
                }
            }

        }
    }
    cout<<"满足上述条件的数有"<<Count<<"个"<<endl;

    return 0;
}


 

备注:若给定的四数不连续,放在数组中,其后与上述1.1类同.

猜你喜欢

转载自blog.csdn.net/huang123307/article/details/8714589
今日推荐