欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言中組成不重復(fù)的三位數(shù)問(wèn)題

 更新時(shí)間:2022年11月14日 10:38:45   作者:吧唧吧唧orz  
這篇文章主要介紹了C語(yǔ)言中組成不重復(fù)的三位數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

C語(yǔ)言組成不重復(fù)的三位數(shù)

對(duì)于這個(gè)問(wèn)題,我有兩種解決思路

  • 第一種較為簡(jiǎn)單
  • 第二種較為復(fù)雜

(1)通用思路:根據(jù)數(shù)組中的數(shù)字自由組合成三位數(shù)

(2)找出最小數(shù)和最大數(shù)并以此為循環(huán)邊界(目的在于縮小循環(huán)的范圍,提高效率),之后根據(jù)不斷循環(huán),將不符合要求的數(shù)字排除,在某些題中會(huì)簡(jiǎn)便許多

·由1,2,3,4組成的不重復(fù)的三位數(shù)

(1)通用思路

#include <stdio.h>
?
int main()
{
?? ?int a[4]={1,2,3,4};
?? ?int i,j,k,count=0;
?? ?for (i=0;i<4;i++)
?? ?{
?? ??? ?for (j=0;j<4;j++)
?? ??? ?{
?? ??? ??? ?for (k=0;k<4;k++)
?? ??? ??? ??? ?if (i!=j&&i!=k&&k!=j)
?? ??? ??? ??? ?printf("%d\n",a[i]*100+a[j]*10+a[k]);?
?? ??? ?}
?? ?}
?? ?return 0;
}?

(2)排除思路

#include <stdio.h>
?
int main()
{
?? ?int a[3],i,j,k;
?? ?for (i=123;i<=432;i++)
?? ?{
?? ??? ?int word = 1;
?? ??? ?a[0]=i%10;a[1]=i/10%10;a[2]=i/100;
?? ??? ?for (j=0;j<3;j++)
?? ??? ?{
?? ??? ??? ?if (a[j]==1||a[j]==2||a[j]==3||a[j]==4)
?? ??? ??? ?{
?? ??? ??? ?for (k=0;k<3&&j!=k;k++)
?? ??? ??? ?{
?? ??? ??? ??? ?if (a[k]==a[j])
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?word = 0;
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ? ? ?}
?? ??? ? ? else
?? ??? ? ? {
?? ??? ??? ? ? ?word = 0;
?? ??? ??? ? ? ?break;
?? ??? ? ? }
?? ??? ?
? ? ? ? if (word == 0)
?? ??? ??? ?break;
?? ?}
?
?? ??? ?if (word)
?? ??? ?printf("%d\n",i);
?? ?}
?? ?return 0;
}

·某些題(適用于排除思路)

用1,2,3,.....,9組成三位數(shù)abc,def,ghi,每個(gè)數(shù)字恰好使用一次,要求 abc:def:ghi=1:2:3.按照“abc def ghi”的格式輸出所有解,每行一個(gè)解。

#include <stdio.h>
?
int main()
{
? ? int abc,def,ghi;
? ? int i,k,a[9],word =1;
? ? for (abc=123;abc<=329;abc++)
? ? {
? ? ? ? def = abc * 2;
? ? ? ? ghi = abc * 3;
? ? ? ? a[0]=abc%10;a[1]=abc/10%10;a[2]=abc/100;
? ? ? ? a[3]=def%10;a[4]=def/10%10;a[5]=def/100;
? ? ? ? a[6]=ghi%10;a[7]=ghi/10%10;a[8]=ghi/100;
? ? ? ? for (k=0;k<9;k++)
? ? ? ? {
? ? ? ? ? ? word = 1;
? ? ? ? ? ? for (i=0;i<9&&i!=k;i++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (a[k]==a[i]||a[i]==0)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? word = 0;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? if (word == 0)
? ? ? ? ? ? break;
? ? ? ? }
? ? ? ? if (word)
? ? ? ? printf("%d,%d,%d\n",abc,def,ghi);
? ? ? ??
? ? }
}

打印1234組成的不重復(fù)三位數(shù)

1、每位數(shù)都遍歷一次,就是個(gè)位出現(xiàn)1234,十位出現(xiàn)1234,百位出現(xiàn)1234

2、去重復(fù),個(gè)位十位百位不能相等

3、復(fù)合式遍歷,統(tǒng)計(jì)這種遍歷得到了多少回

var count = 0;
for(i=1;i<=4;i++){
    for(j=1;j<=4;j++){
        for(k=1;k<=4;k++){
            if(i!=j && j!=k && k!=i){
            count++;
            console.log(i+""+j+""+k);
            }
        }
    }
}
console.log("這樣的三位數(shù)有"+count+"個(gè)");

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用C語(yǔ)言實(shí)現(xiàn)三子棋游戲

    用C語(yǔ)言實(shí)現(xiàn)三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了用C語(yǔ)言實(shí)現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C++歸并排序算法詳解

    C++歸并排序算法詳解

    大家好,本篇文章主要講的是C++歸并排序算法詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 淺談C++基類(lèi)的析構(gòu)函數(shù)為虛函數(shù)

    淺談C++基類(lèi)的析構(gòu)函數(shù)為虛函數(shù)

    本文重點(diǎn):應(yīng)該為多態(tài)基類(lèi)聲明虛析構(gòu)器。一旦一個(gè)類(lèi)包含虛函數(shù),它就應(yīng)該包含一個(gè)虛析構(gòu)器。如果一個(gè)類(lèi)不用作基類(lèi)或者不需具有多態(tài)性,便不應(yīng)該為它聲明虛析構(gòu)器。
    2015-10-10
  • c語(yǔ)言動(dòng)態(tài)數(shù)組示例

    c語(yǔ)言動(dòng)態(tài)數(shù)組示例

    這是一個(gè)簡(jiǎn)單的動(dòng)態(tài)分配數(shù)組大小的例子,需要的朋友可以參考下
    2014-04-04
  • C語(yǔ)言實(shí)現(xiàn)掃雷游戲詳細(xì)代碼

    C語(yǔ)言實(shí)現(xiàn)掃雷游戲詳細(xì)代碼

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷游戲的具體步驟和詳細(xì)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Linux下用C++實(shí)現(xiàn)俄羅斯方塊

    Linux下用C++實(shí)現(xiàn)俄羅斯方塊

    這篇文章主要為大家詳細(xì)介紹了Linux下用C++實(shí)現(xiàn)俄羅斯方塊的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 一個(gè)string類(lèi)的簡(jiǎn)單實(shí)現(xiàn)案例

    一個(gè)string類(lèi)的簡(jiǎn)單實(shí)現(xiàn)案例

    下面小編就為大家?guī)?lái)一篇一個(gè)string類(lèi)的簡(jiǎn)單實(shí)現(xiàn)案例。小編覺(jué)得挺不錯(cuò)的現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • C++類(lèi)的靜態(tài)成員初始化詳細(xì)講解

    C++類(lèi)的靜態(tài)成員初始化詳細(xì)講解

    通常靜態(tài)數(shù)據(jù)成員在類(lèi)聲明中聲明,在包含類(lèi)方法的文件中初始化.初始化時(shí)使用作用域操作符來(lái)指出靜態(tài)成員所屬的類(lèi).但如果靜態(tài)成員是整型或是枚舉型const,則可以在類(lèi)聲明中初始化
    2013-09-09
  • C語(yǔ)言指針超詳細(xì)講解上篇

    C語(yǔ)言指針超詳細(xì)講解上篇

    指針提供了對(duì)地址操作的一種方法,因此,使用指針可使得?C?語(yǔ)言能夠更高效地實(shí)現(xiàn)對(duì)計(jì)算機(jī)底層硬件的操作。另外,通過(guò)指針可以更便捷地操作數(shù)組。在一定意義上可以說(shuō),指針是?C?語(yǔ)言的精髓
    2022-04-04
  • C++中cout的格式使用詳細(xì)介紹

    C++中cout的格式使用詳細(xì)介紹

    cout 是C++中 ostream 類(lèi)型的對(duì)象,該類(lèi)被封裝在 < iostream > 庫(kù)中,該庫(kù)定義的名字都在命名空間 std 中,所以 cout 全稱(chēng)是 std::cout 。本文重點(diǎn)給大家介紹C++中cout的格式使用,需要的朋友參考下吧
    2021-06-06

最新評(píng)論