PROLOG 7로 끝나고 숫자의 합이 100보다 큰 숫자를 인쇄합니다.

브라이언 다니엘 가르시아

숫자 목록을 받고 7로 끝나는 숫자 만 인쇄하고 숫자의 합이 100보다 큰 술어를 만들어야합니다.

나는 분리에 대한 술어를 만들었지 만 두 술어의 합집합을 만드는 데 도움이 필요합니다. 두 술어가 하나의 술어로 들어가는 것을 의미합니다. 이것은 지금까지 한 것입니다.

%sum of digits greater than 100
 multi(X):-
0 is X mod 100
sum([],0).
sum([P|Q],Z).
multi(P), sum(Q,Z1), Z is P + Z1.
sum([P|Q],Z).
not multi(P), sum(Q,Z).

%print the numbers that end in 7
end(Y):-
7 is Y mod 10.
listend([],0).
listend([P|Q]):-
end(P),write(P), nl, listend(Q).
listend([P|Q]):-
not(end(P)), listend(Q).
수수께끼

이것은 나를 위해 작동합니다.

?- filter([147, 24, 57, 17, 3667], X), write(X), nl, fail.

sumdigits(0, 0).
sumdigits(X, Z) :-
    X > 0,
    Z1 is X mod 10, 
    X2 is X // 10,
    sumdigits(X2, Z2), 
    Z is Z1 + Z2.

filter([], []).
filter([H|X], [H|Y]) :-
    sumdigits(H, D),
    D > 10,
    7 is H mod 10, !,
    filter(X, Y).
filter([_|X], Y) :- filter(X, Y).

나는 얻다:

[147, 57, 3667]
No.

나는 당신이 숫자의 합이 100이 아니라 10보다 크다는 것을 의미한다고 가정했습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Java는 5 개의 숫자를 무작위로 생성하고 가장 큰 숫자를 인쇄합니다.

분류에서Dev

범위 (0-100)에있는 세 개의 숫자를 랜덤 화하고 가장 큰 숫자를 인쇄하는 함수를 만들려고합니다.

분류에서Dev

범위 (0-100)에있는 세 개의 숫자를 랜덤 화하고 가장 큰 숫자를 인쇄하는 함수를 만들려고합니다.

분류에서Dev

루프는 가장 작은 숫자를 가장 큰 숫자로 인쇄합니다.

분류에서Dev

숫자보다 큰 고유 합계

분류에서Dev

각 인접 숫자의 합계를 찾고 마지막으로 두 번째로 큰 합계와 두 번째로 큰 숫자를 인쇄하십시오.

분류에서Dev

정규식은 문자열이 숫자로 시작하고 끝나는 지 확인합니다.

분류에서Dev

이 숫자의 합이 100을 초과하면 목록의 모든 숫자를 인쇄합니다.

분류에서Dev

숫자를 읽고 1부터 숫자까지의 정수를 파일에 인쇄합니다.

분류에서Dev

printf는 uint_8에 대해 큰 숫자를 인쇄합니다.

분류에서Dev

하나 이상의 공백으로 구분 된 숫자 문자열이 주어지면 두 번째로 큰 숫자를 찾습니다.

분류에서Dev

세 목록의 숫자를 계산하고 큰 목록을 생성합니다.

분류에서Dev

100 억보다 큰 숫자를 저장하려면 어떻게합니까

분류에서Dev

UNIX에서 특정 숫자보다 큰 경우 숫자와 날짜로 구성된 file_names를 찾아 나열합니다.

분류에서Dev

200보다 큰 배열의 모든 숫자를 가져와 표시하려고합니다.

분류에서Dev

처음 8 개의 자동 숫자를 인쇄합니다.

분류에서Dev

파이썬에서 특정 문자로 시작하고 끝나는 문자열에서 하위 문자열의 인덱스를 찾아 인쇄합니다.

분류에서Dev

두 개의 스레드를 사용하여 피보나치 시리즈를 인쇄하고 싶습니다. 첫 번째 숫자는 첫 번째 스레드로 인쇄 한 다음 두 번째 숫자는 두 번째 스레드로 인쇄해야합니다.

분류에서Dev

입력 한 숫자의 합계를 인쇄합니다.

분류에서Dev

행에서 1보다 큰 숫자의 발생 횟수를 계산합니다.

분류에서Dev

숫자가 더 큰 표현의 일부가 아닌 특정 숫자 (인치)를 검색합니다.

분류에서Dev

파이썬에서 숫자의 각 숫자를 다른 숫자로 어떻게 곱합니까?

분류에서Dev

효율적인 방법으로 큰 숫자의 계승을 찾는데 여전히 TLE를 받고 있다면 어떻게해야합니까?

분류에서Dev

주어진 숫자의 제수이고 그 합이 최소 인 세 개의 숫자를 찾습니다.

분류에서Dev

X의 개수에 따라 숫자를 인쇄합니다.

분류에서Dev

MySQL : 숫자 값을 확인하고 ","를 "."로 변경합니다.

분류에서Dev

범위 (x, y)의 숫자에 숫자가 포함 된 경우 숫자를 인쇄합니다.

분류에서Dev

awk 배열을 사용할 때 언급 된 질문에 대해 큰 숫자를 합하고 모든 소수점과 함께 결과를 인쇄합니다.

분류에서Dev

Java 프로그램은 조건이있는 범위의 숫자를 인쇄합니다.

Related 관련 기사

  1. 1

    Java는 5 개의 숫자를 무작위로 생성하고 가장 큰 숫자를 인쇄합니다.

  2. 2

    범위 (0-100)에있는 세 개의 숫자를 랜덤 화하고 가장 큰 숫자를 인쇄하는 함수를 만들려고합니다.

  3. 3

    범위 (0-100)에있는 세 개의 숫자를 랜덤 화하고 가장 큰 숫자를 인쇄하는 함수를 만들려고합니다.

  4. 4

    루프는 가장 작은 숫자를 가장 큰 숫자로 인쇄합니다.

  5. 5

    숫자보다 큰 고유 합계

  6. 6

    각 인접 숫자의 합계를 찾고 마지막으로 두 번째로 큰 합계와 두 번째로 큰 숫자를 인쇄하십시오.

  7. 7

    정규식은 문자열이 숫자로 시작하고 끝나는 지 확인합니다.

  8. 8

    이 숫자의 합이 100을 초과하면 목록의 모든 숫자를 인쇄합니다.

  9. 9

    숫자를 읽고 1부터 숫자까지의 정수를 파일에 인쇄합니다.

  10. 10

    printf는 uint_8에 대해 큰 숫자를 인쇄합니다.

  11. 11

    하나 이상의 공백으로 구분 된 숫자 문자열이 주어지면 두 번째로 큰 숫자를 찾습니다.

  12. 12

    세 목록의 숫자를 계산하고 큰 목록을 생성합니다.

  13. 13

    100 억보다 큰 숫자를 저장하려면 어떻게합니까

  14. 14

    UNIX에서 특정 숫자보다 큰 경우 숫자와 날짜로 구성된 file_names를 찾아 나열합니다.

  15. 15

    200보다 큰 배열의 모든 숫자를 가져와 표시하려고합니다.

  16. 16

    처음 8 개의 자동 숫자를 인쇄합니다.

  17. 17

    파이썬에서 특정 문자로 시작하고 끝나는 문자열에서 하위 문자열의 인덱스를 찾아 인쇄합니다.

  18. 18

    두 개의 스레드를 사용하여 피보나치 시리즈를 인쇄하고 싶습니다. 첫 번째 숫자는 첫 번째 스레드로 인쇄 한 다음 두 번째 숫자는 두 번째 스레드로 인쇄해야합니다.

  19. 19

    입력 한 숫자의 합계를 인쇄합니다.

  20. 20

    행에서 1보다 큰 숫자의 발생 횟수를 계산합니다.

  21. 21

    숫자가 더 큰 표현의 일부가 아닌 특정 숫자 (인치)를 검색합니다.

  22. 22

    파이썬에서 숫자의 각 숫자를 다른 숫자로 어떻게 곱합니까?

  23. 23

    효율적인 방법으로 큰 숫자의 계승을 찾는데 여전히 TLE를 받고 있다면 어떻게해야합니까?

  24. 24

    주어진 숫자의 제수이고 그 합이 최소 인 세 개의 숫자를 찾습니다.

  25. 25

    X의 개수에 따라 숫자를 인쇄합니다.

  26. 26

    MySQL : 숫자 값을 확인하고 ","를 "."로 변경합니다.

  27. 27

    범위 (x, y)의 숫자에 숫자가 포함 된 경우 숫자를 인쇄합니다.

  28. 28

    awk 배열을 사용할 때 언급 된 질문에 대해 큰 숫자를 합하고 모든 소수점과 함께 결과를 인쇄합니다.

  29. 29

    Java 프로그램은 조건이있는 범위의 숫자를 인쇄합니다.

뜨겁다태그

보관