如何使此代碼對於大小爲10^9的大數更有效。我不認爲我可以減少for循環的數量。如何減少我的代碼中循環的數量
#include <stdio.h>
int main(void) {
int e;
int t;
scanf("%d",&t);
for(e=0;e<t;e++){
int x,y;
scanf("%d",&x);
scanf("%d",&y);
int sum=0;
int j,k,i;
for(j=x;j<y;j++){
for(k=j+1;k<=y;k++){
int max=1;
for(i=2;i<=j;i++)
if((j%i==0)&&(k%i==0))
max=i;
sum+=max;
}
}
printf("%d",sum);
}
}
你的代碼是做什麼的?如果你需要更好的算法,我們需要一個適當的問題描述。 –
嘿,它是2014年,僅僅在C風格變得過時之後60年。您可以在需要它們的地方聲明變量,而不是將它們泄漏到整個地方。 (int e = 0; e <++; ++ e)等。 –
我想構建一個算法,用於計算用戶輸入的包含範圍內所有可能的最大公約數的總和。 – user3234939