15*7>100>14*7
結果就是(1+2+.....+14)*7
也就是[(1+14)*14/2]*7=15*7*7=735。
編程時可以考慮使用這種思路,速度快的。以C#編程。
public int getNum(int num,int last)
{
int temp =0;
for(int i = 1 ;i<=last;i++)
{
if(i%num==0)
temp+=i;
}
return temp;
}
顯然這樣的速度是較慢的,有人可能會發現如果整除時,每隔num個就會整除壹下!那麽這樣寫也是無可厚非了:
public int getNum(int num,int last)
{
int temp =0;
for(int i = 0 ;i<=last;i+=num)
{
temp+=i;
}
return temp;
}
先找出第壹個能整除7的數,雖然0在這裏不合題意,但反正0加上也不多,也可以得出正確的結果的。不過速度要比上壹個快的多。那麽這樣寫也是無可厚非的:
public int getNum(int num,int last)
{
int temp = last/num;
return (temp+1)*temp*num/2;
}
反正商是壹個壹個地增加嘛!也是符合題意的。只是說編程,又沒有說壹定要用什麽,所以分析壹下問題,以最快的方式運行才是實際應用的編程,如果只會第壹種方法,那麽,也就教教學而已,寫軟件估計差點。
調用是 int result = getNum(7,100);result就是妳要的結果,至於用哪個方法自己想吧。