日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

填数字游戏ABCD*E=DCBA

發布時間:2024/3/12 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 填数字游戏ABCD*E=DCBA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 1.問題描述
  • 2.問題分析
  • 3.代碼
  • 4.總結

1.問題描述

有這樣一個算式:
ABCD×EDCBA\frac {ABCD \atop ×E} {DCBA} DCBA×EABCD??
其中ABCDE代表的數字各不相同。編寫一個程序,計算出A、B、C、D、E各代表什么數字。

2.問題分析

這道題的實質就是要求這樣一個4位數字ABCD和1位數E,要求它們的乘積等于DCBA。同時A、B、C、D、E互不相等。
最直觀簡單的方法就是采用窮舉法。也就是在4位的整數集合[1000, 9999]和1位整數集合[1, 9]中找到符合上述算式條件的4位數字ABCD和1位數E
約束條件:
1.ABCD*E=DCBA
2.A、B、C、D、E所代表的整數互不相等

ABCD<-1000 Repeat:E<-1Repeat:if ABCD*E=DCBA and A、B、C、D、E互不相等 Then 輸出這個答案E<-E+1Until E>9ABCD<-ABCD+1 Until ABCD>9999

已知ABCD如何求解DCBA?
詳見上一篇文章中:
判斷回文數字->2.問題分析->如何求解一個數的“倒置數”

如何判斷A、B、C、D、E互不相等
不重不漏地比較10對數

(A,B) (A,C) (A,D) (A,E) (B,C) (B,D) (B,E) (C,D) (C,E) (D,E)

3.代碼

#include "stdafx.h" #include "stdlib.h" #include <iostream> using namespace std; //求i的倒置數 int reverse(int i) {int r = 0;while(i){r = r * 10 + i % 10;i = i / 10;}return r; }//判斷A、B、C、D、E是否互不相等 int fun(int abcd, int e) {int arr[4],k = 0;while(abcd){arr[k] = abcd % 10;abcd = abcd / 10;k++;}if(arr[0] == arr[1]) return 0; //(A,B)if(arr[0] == arr[2]) return 0; //(A,C)if(arr[0] == arr[3]) return 0; //(A,D)if(arr[0] == e) return 0; //(A,E)if(arr[1] == arr[2]) return 0; //(B,C)if(arr[1] == arr[3]) return 0; //(B,D)if(arr[1] == e) return 0; //(B,E)if(arr[2] == arr[3]) return 0; //(C,D)if(arr[2] == e) return 0; //(C,E)if(arr[3] == e) return 0; //(D,E)return 1; } int main(int argc, char* argv[]) {int abcd,e;for(abcd = 1000; abcd < 10000; ++abcd){for(e = 1; e < 10; ++e){if(fun(abcd,e) && abcd * e == reverse(abcd)){cout << abcd << endl;cout << " *" << e << endl;cout << "----" << endl;cout << abcd * e<< endl;}}}system("pause");return 0; } /*輸出: 2178*4 ---- 8712 */

4.總結

本題的關鍵在于
1、計算“倒置數”
2、判斷A、B、C、D、E互不相等

總結

以上是生活随笔為你收集整理的填数字游戏ABCD*E=DCBA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。