# # 一开始想先暴力法测一测能ac多少的,但是全部报错,不超时的也得不出对应答案,有大佬动的话,可以邮箱联系(wzideng@qq.com)解释,或者评论区留言一下嘛?```java
package ___2022年省赛Java大学A组;
import java.util.Scanner;
public class 因数平方和_先看看暴力法能得多少分 {
//f(12) = 12 + 22 + 32 + 42 + 62 + 122。
static long n ,ans;
static long mod = 1000000007;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
n = sc.nextLong();
for(long i=1;i<=n;i++){
if(n%i==0) {
//System.out.println("存在"+i+"^2");
ans+=(i*i);
ans%=mod;
}
}
System.out.println(ans%mod);
}
sc.close();
}
}
以下贴出大佬代码,以及链接
package ___2022年省赛Java大学A组;
import java.util.Scanner;
public class 因数平方和 {
private static long mod = 1000000007 ;
private static long res = 0,n,count = 0;
private static long s = 166666668;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextLong();
long temp ;
for(long i=1,j;i<=n;i = j+1) {
j = n/(n/i);
temp = count;
count = j*(j+1l)%mod *(2l *j +1)%mod*s %mod; ; //
res = (res + (n/i) * (count - temp)+mod)%mod;
}
System.out.println(res);
sc.close();
}
}
https://blog.csdn.net/qq_46046361/article/details/124089885
6 分
3 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复