作业帮 > 综合 > 作业

pascal编程:公约数的和

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/07 21:17:27
pascal编程:公约数的和
有一天,TIBBAR和LXL比赛谁先算出1~N这N个数中每任意两个不同的数的最大公约数的和.LXL还在敲一个复杂而冗长的程序,争取能在100s内出解.而TIBBAR则直接想1s秒过而获得完胜,请你帮他完成这个任务.
输入格式
共一行,一个正整数N.
输出格式
共一行,一个数,为1~N这N个数中每任意两个不同的数的最大公约数的和.
样例输入
10
样例输出
67
pascal编程:公约数的和
var
  i,j,n:longint;
  ans:int64;

function gcd(a,b:longint):longint;
begin
  if b=0 then exit(a)
    else exit(gcd(b,a mod b));
end;

begin
  readln(n);
  for i:=2 to n do
    for j:=1 to i-1 do
      ans:=ans+gcd(i,j);
  writeln(ans);
end.