程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 找出個位數為6且能被3整除的五位數,位數整除

找出個位數為6且能被3整除的五位數,位數整除

編輯:關於C語言

找出個位數為6且能被3整除的五位數,位數整除


根據:能被3整除的數其各位的總和也能被3整除的原則,個位6能被3整除,所以就只用考慮高位4位,在這裡就可以采用如下方法獲得最終結果

 1 /*==================================
 2 Copyright (C) 2014 All rights reserved.
 3 FileName:3.c
 4 author:donald
 5 date:2014/08/16/ 23:35:55
 6 ===================================*/
 7 #include <stdio.h>
 8 #include <stdlib.h>
 9 #include <string.h>
10 
11 int main(int argc, const char *argv[])
12 {
13     int index,cnt ;
14     for(index = 1000;index < 9999;index ++){
15         if(index % 3 == 0){
16             cnt ++;
17             printf("%8d",index*10 + 6) ;
18         }
19     }
20     printf("\nresult is %d \n",cnt);
21     return 0;
22 }

 


在五位數中,至少出現一個6,並且可以被3整除的數有多少個?

12504個

解法一)
首先把所求的五位數分成兩類:
【1】萬位數字為6者,且能被3整除的五位數皆合乎所求
(9999-0000)÷3+1=3334
【2】萬位數字不為6者,且能被3整除的五位數
(1)個位數字為6:
[(9999-1002)÷3+1]-[(999-000)÷3+1]=2666
十位數字為6,百位數字為6,千個位數字為6:皆為2666
(2)個、十位數字為6:
[(999-102)÷3+1]-[(99-00)÷3+1]=266
個、百位數字為6,個、千位數字為6,十、百位數字為6,十、千位數字為6,千、百位數字為6:皆為266
(3)個、十、百位數字為6:
[(99-12)÷3+1]-[(9-0)÷3+1]=26
個、十、千位數字為6,個、百、千位數字為6,十、百、千位數字為6:皆為26
(4)個、十、百、千位數字為6:
36666、96666,共2個
2666×4-266×6+26×4-2=9170
故合乎所求的五位數共有3334+9170=12504

解法二)
全部五位數中3的倍數共(99999-9999)/3=30000個
1,4,7為3k+1,以1表示
2,5,8為3k+2,以2表示
0,3,9為3k,以0表示

不含6且為3的倍數有以下7類
(1)00000,共3^5-3^4=162
(2)11100,共[5!/(3!*2!)]*3^5-(4!/3!)*3^4=2106
(3)12000,共(5!/3!)*3^5-(4!/2!)*3^4=3888
(4)11112,共(5!/4!)*3^5=1215
(5)11220,共[5!/(2!*2!)]*3^5-[4!/(2!*2!)]*3^4=6804
(6)22200,共[5!/(3!*2!)]*3^5-(4!/3!)*3^4=2106
(7)12222,共(5!/4!)*3^5=1215
(1)~(7)共17496個

30000-17496=12504
 

C語言源程序: 有限5位數個位數為6且可以被3整除的五位數共有多少

其實沒有必要算k的值,因為只要輸出個數即可的話,那麼末尾為6是肯定的。那麼只需要判斷從1000到9999的前四位數能被3整除的有多少個就OK了。6可以被3整除的,那麼就計算前面四位數,把4位數字相加如果能被3整除哪麼就滿足條件。
main()
{
int i,j,k,m,count;
m=0;
for(i=1000;i<=9999;i++)
{k=10*i+6;//其實沒什麼用

for(j=i;j<=0;j++){//將4位數字相加
m+=j%10;
}
if((m+6)%3==0 count++;
}
printf("%d",count);
}
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved