English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

有誰知道能同時被123456789整除的四位數有哪些呢?

2007-02-15 09:13:06 · 3 個解答 · 發問者 大海 1 in 電腦與網際網路 程式設計

可以的話請告知算法 謝謝

2007-02-15 09:24:21 · update #1

3 個解答

同時被 1, 2, 3, 4, 5, 6, 7, 8, 9整除
就是 1, 2, 3, 4, 5, 6, 7, 8, 9 的公倍數
1, 2, 3, 4 的倍數一定在 6 或8 的倍數裡
可以不看
6的倍數一定在8 和 9 的公倍數裡
可以不看
=> 求 5, 7, 8, 9 的公倍數
因為這四個數之間完全沒有公因數
所以它們的最小公倍數就是它們的乘積
= 5*7*8*9
= 2520 (剛好是四位數)
2520的倍數都是 1, 2, 3, 4, 5, 6, 7, 8, 9 的公倍數
2520*2= 5040
2520*3= 7560
四倍就不是四位數了
所以有 2520, 5040, 7560
如果有問題, 請來函討論. 不然, 我可能會錯失你再補充的疑點.





2007-02-16 02:00:50 補充:
如果要用程式來做
二樓大大的程式可以改良
for(i=1000; i<=9999; i++ ) (因為要找四位數)
{
 for(j=5; j<=9; j ++) (1~ 4可以不必做 可省 4/9 時間)
 {
 if(i%j!=0)
  break;
/* 不必在此判斷
 if(j==9)
  flag=1;
*/
 }
 if( j > 9 ) /* 當找到時 j 才會大於 9 */
  printf("i=%dn",i);
}

2007-02-15 20:20:37 · answer #1 · answered by JJ 7 · 0 0

你發在C程式版
應該是要CODE吧 @@
參考參考 可正確執行於VC++ 6.0
#include
#include
int main()
{
 int i,j,flag=0;
 for(i=1;i<=9999;i )
 {
  for(j=1;j<=9;j )
  {
   if(i%j!=0)
    break;
   if(j==9)
    flag=1;
  }
  if(flag==1)
  {
   printf("i=%d\n",i);
   flag=0;
  }
 }
 system("PAUSE");
 return 0;
}

2007-02-15 10:05:40 · answer #2 · answered by Anonymous · 0 0

2520 5040 7560
沒錯ㄉ話 就這些ㄌ

2007-02-15 09:18:57 · answer #3 · answered by 1 · 0 0

fedest.com, questions and answers