PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
songmong12
Major Member
 
songmong12的大頭照
 

加入日期: Oct 2004
您的住址: 高雄的大醫院附近
文章: 216
引用:
作者TK3D
目前小弟的老師..出了一道難題..說要寫出一個1-10000 能夠被3 7 整除的數 加起來..QQ"
實在難倒才剛學java.一個月半的我>"<
頂多只會1-100偶數和..
有哪位大大可以幫忙解答一下嗎?

要完整的嗎??應該是 3 and 7 或是 3 or 7 ....

先從3 and 7 開始...
int sum1 = 0;
for(int i = 1; i * 21 < 10000 ; i++)
{
sum1 += i*21;
}

printf("%d",sum1);

再來是 3 or 7 的
sum2 = 0;
for(i = 1; i * 3 < 10000 ; i++)
{
sum2 += i*3;
}

for(i = 1; i * 7 < 10000 ; i++)
{
sum2 += i*7;
}

printf("%d", sum2 - sum1 );

偷懶法...

要不然應該像前面大大一樣用 % 會比較快....
     
      

此文章於 2005-04-21 06:13 PM 被 songmong12 編輯.
舊 2005-04-21, 06:11 PM #11
回應時引用此文章
songmong12離線中  
my755
Junior Member
 
my755的大頭照
 

加入日期: May 2004
您的住址: 修得文武藝, 賣與帝王家
文章: 770
不會用JAVA只會用JS

T = 0;
for(i=0; i<10000; i++) (i % 3)||(i % 7) ? T += i : T;
alert(T);

我承認我是來亂的....
 
__________________
舊 2005-04-21, 06:49 PM #12
回應時引用此文章
my755離線中  
嚐起來像雞
Major Member
 
嚐起來像雞的大頭照
 

加入日期: Nov 2004
您的住址: 高雄
文章: 276

代碼:
class ThousandExam
	{
	public static void main( String [] args )
		{
		int sum = 0;    //算總和
		int count = 0;  //算個數

		for ( int i=1; i<=10000; i++ )
			{
			//假設是3 AND 7 好了
			if ( ((i%3)==0) && ((i%7)==0) )
				{
				sum += i;  //算和
				++count;   //算個數
			}
		}
		System.out.printf( "1~10000中能被3及7整除的數值共有 %d 個, 數值和為 %d .\n", count, sum );
	}
}


只對數列中每一個數檢查一次(用兩個條件檢查),
沒有重複加入兩者公倍數的問題,
應該不用減去公倍數(交集)吧∼
數列走兩次才會發生重複加入,
那走一次就好囉!
__________________

It's when you start to become really afraid of death,
that you learn to appreciate life. [Leon]

此文章於 2005-04-22 04:17 AM 被 嚐起來像雞 編輯.
舊 2005-04-22, 03:47 AM #13
回應時引用此文章
嚐起來像雞離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是10:58 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。