하나의 Java 프로그램을 작성하고 있습니다. 아서 (p,q)
쌍의 수이 될 수있는 기능 f(k)
를 정의하도록 :Arthur와 co prime 프로그램 Coprime Conundrum이 원하는 출력을 얻지 못했습니다.
1< p <= q <= k
- p와 q는 coprimes은 내가 하나 개 프로그램을 작성하기로하고
n
그리고 아더가 그 결과를 찾아서 인쇄하도록 도와주세요 (Σ k=1 to n) f(k)
Constrai 국세청 : 예를 들어 1<=n<=pow(10,9)
(입력) 그래서 f(6) = 1
k=10
를 들어 유효 하나가,의 하나의 유효한 쌍 (2,3)
이 k=6
를 들어 1<=k<=12
에 대한 f(k)
의 값에 대해 n = 12
을 가정 해 봅시다 쌍 (2,5)
이므로 f(10) = 1
k=12
의 경우 유효한 쌍이 하나 있습니다. (3,4)
,
import java.util.Scanner;
class ArthurFunction{
public static boolean areCoPrime(int a, int b){
int max = 0;
boolean flag = true;
if(a>=b)
max = a;
else
max = b;
for(int i=2;i<=max;i++)
if((a%i==0)&&(b%i==0))
flag = false;
return flag;
}
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int sum = 0;
for(int k = 1;k<=n;k++){
for(int p=2;p<=k;p++){
for(int q=2;q<=k;q++){
if(areCoPrime(p,q)&&(p*q==k)&&(p<=q))
sum+=sum;
}
}
}
System.out.println(sum);
}
}
그래서 다른 1 < = K < = 12 따라서 함수 반환 0 들어
f(12) = 1
는 다른 최종 합계
1+1+1 = 3
(최종 출력) 여기서 결과 내 코드이다
이 코드를 실행할 때 출력은 3
이되어야하지만 0
이 나오고 솔루션을 찾을 수 없습니다.