본문 바로가기

Ai

GPT와 BARD 가 못푸는 산수 코딩문제 , basic coding but GPT & BARD can't solve

 

코딩하다가 . 귀차나서 GPT에 던 졌습니다 . 그런데 안되더군요 .. 

바드도 해보니 안됩니다.  그냥 직접 코딩 하긴했지만 .  . 

 

천하의 인공지능도 못푸는 문제가 산수라니 . 기록 남깁니다. 

 

basic coding but GPT & BARD can not solve this

 

start = [ 5, 4 , 3, 2, 1];

result print

5,4,3,2,1
5,4,3,2,2
5,4,3,3,2
5,4,4,3,2
5,5,4,3,2

6,5,4,3,2
6,5,4,3,3
6,5,4,4,3
6,5,5,4,3
6,6,5,4,3

7,6,5,4,3
7,6,5,4,4
7,6,5,5,4
7,6,6,5,4
7,7,6,5,4

8,7,6,5,4
8,7,6,5,5
8,7,6,6,5
8,7,7,6,5
8,8,7,6,5

=============================

 

GPT

void main() {
  List<int> start = [5, 4, 3, 2, 1];
  while (true) {
    print(start);
    for (int i = start.length - 1; i >= 0; i--) {
      if (start[i] < start[i - 1]) {
        start[i]++;
        break;
      } else if (i == 0) {
        start[0]++;
        break;
      } else {
        start[i] = start[i - 1];
      }
    }
    if (start[0] > 8) break;
  }
}

 

BARD

void main() {
  // start 리스트 생성
  List<int> start = [5, 4, 3, 2, 1];

  // result 리스트 생성
  List<List<int>> results = [start];

  // start 리스트의 요소를 순회하면서
  for (int i = 0; i < 100; i++) {
    // i 번째 요소를 result 리스트에 추가
    List<int> newList = List.generate(start.length, (_) => start[_]);

    // 마지막 두 숫자 더하기
    int sum = newList[newList.length - 1] + newList[newList.length - 2];

    // 마지막 숫자 업데이트
    newList[newList.length - 1] = sum % 10;

    // 캐리 오버
    if (sum >= 10) {
      newList[newList.length - 2]++;
    }

    results.add(newList);
  }

  // result 리스트를 출력
  for (final list in results) {
    print(list.join(','));
  }
}

 

 

제가 풀이 한 방법은 . 구식이지만 , .. 

 

  List<int> start = [5, 4, 3, 2, 1];
  
  for(int i=0 ; i<start.length ; i++){
    print(start);
    start[start.length-1-i] = start[start.length-i-1]+1;
  }
  

 

다시 GPT에게 예제를 주고 . 코드와 함께 다시 해달라 부탁하니 .. 다른답이 옵니다 .  물론 틀린 답입니다. 

 

void main() {
  List<int> start = [5, 4, 3, 2, 1];
  while (true) {
    print(start);
    for (int i = start.length - 1; i >= 0; i--) {
      if (i == 0 || start[i] < start[i - 1]) {
        start[i]++;
        break;
      } else {
        start[i] = start[i - 1];
      }
    }
    if (start[0] > 9) break;
  }
}

 질문하는 법이 서툴러서 일 수도 있겠습니다. 

 

짧은 머리로 수동모드로 완성하고 갑니다.  마지막 정답

[5, 4, 3, 2, 1]
[5, 4, 3, 2, 2]
[5, 4, 3, 3, 2]
[5, 4, 4, 3, 2]
[5, 5, 4, 3, 2]
[6, 5, 4, 3, 2]
[6, 5, 4, 3, 3]
[6, 5, 4, 4, 3]
[6, 5, 5, 4, 3]
[6, 6, 5, 4, 3]
[7, 6, 5, 4, 3]
[7, 6, 5, 4, 4]
[7, 6, 5, 5, 4]
[7, 6, 6, 5, 4]
[7, 7, 6, 5, 4]
[8, 7, 6, 5, 4]
[8, 7, 6, 5, 5]
[8, 7, 6, 6, 5]
[8, 7, 7, 6, 5]
[8, 8, 7, 6, 5]
[9, 8, 7, 6, 5]
[9, 8, 7, 6, 6]
[9, 8, 7, 7, 6]
[9, 8, 8, 7, 6]
[9, 9, 8, 7, 6]
[10, 9, 8, 7, 6]
[10, 9, 8, 7, 7]
[10, 9, 8, 8, 7]
[10, 9, 9, 8, 7]
[10, 10, 9, 8, 7]

 

즉, 인공지능은 아직 별찍기에 약하다 ..졸리니까 ;