PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   請較懂JAVA大大~ (https://www.pcdvd.com.tw/showthread.php?t=476484)

songmong12 2005-04-21 06:11 PM

引用:
作者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 );

偷懶法... :D :D

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

my755 2005-04-21 06:49 PM

不會用JAVA只會用JS

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

我承認我是來亂的.... :D :D :D

嚐起來像雞 2005-04-22 03:47 AM

:p
代碼:
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 );
	}
}


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


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

vBulletin Version 3.0.1
powered_by_vbulletin 2026。