在下北泽大学读书的仙贝同学遇到了很麻烦的问题
对于X,函数(X)表示X所有约数的和。
例如:f(8)=1+2+4+8=15。
对于一个X,仙贝很快算出(X)。
仙贝不满足于此,给两个正整数X,Y(X<Y),仙贝希望尽快地算出(X)+(X+)+...+f)的值,你能帮助仙贝算出这个值吗?
他说答对了有奖励,答错了有惩罚,请你帮帮他。
解决:这里直接以计算出结果为主不考虑复杂度
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int x= scanner.nextInt();
int l= scanner.nextInt();
int d=0;
for(int w=x;w<=l;w++){
for(int i=1;i<=w;i++){
for(int s=1;s<=w;s++){
if(i*s==w){
d+=(i+s);
}
}
}
}
System.out.println(d/2);
}
}