디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

횽들..귀찮아도 이거하나만 봐줘..ㅜㅜ

망캐ㅠ갤로그로 이동합니다. 2010.08.30 23:12:05
조회 115 추천 0 댓글 6


오일러 프로젝트라고... 프로그래밍 언어로 코딩해서 푸는 문제거든?..

문제는 짤방이구..

내가 어떻게 풀었냐면..

예를 들어 a= 2일때, b가 2에서 100까지 증가함에 따라 작은것부터 늘어놓으면

2^2  2^3  2^4 ........................ 2^100 이잖어..?


그리고 a=16 일때, b가 2에서 100까지 증가함에 따라 작은것부터 늘어놓으면

16^2  16^3 ......................... 16^100 까지 있을꺼잖아..

근데 16 = 2^4 이니까, 다시 쓰면

2^8  2^12  ........................ 2^400

이중에서, 2^8, 2^12 ... 2^100(=16^25) 까진 중복이니까 카운팅을 안하는거야..


일반화 시키면

어떤 자연수 a^b가 에서 자연수 a가  c의 n제곱일때,  n*b <= 100 의 조건을 만족하면, 중복이란 소리니까 카운팅을 하지 않는다 (단, 2<= a, b <= 100)

근데 왜 숫자가 정답보다 많이 나올까...

내가 뭐 빼먹은거 있나?..ㅜㅜ 좀 도와줘..엉엉










// problem29.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//

#include "stdafx.h"
#include "time.h"
#include "math.h"

int squareN(int a, int factor);  // factor 가 a 의 임의의수 n 제곱근인지 확인하는 함수. 제곱근이면, n 을 반환, 아니면 100보다 크수 반환.

int _tmain(int argc, _TCHAR* argv[])
{
 double start, finish;  //걍 시간잴때 쓰면 변후
 start = clock();        //걍 시간 재는거
 
 int arr_test[101] = {0,0};  // 1이면, 카운팅, 0이면 카운팅에서 제외. 이중 arr_test[0], arr_test[1] 은 사용하지 않음.
 int answer = 0;             // 답!!!!!

 for(int a = 2; a <= 100; a++)
 {
  printf("%3d : ", a);                 // 실제 문제에서의 a
  for(int b = 2; b <= 100; b++)  // 실제 문제에서의 b
  {
   arr_test[b] = 1;                 // 일단 a^b 의 값이 유일하다고 가정하고, 1 대입

   for(int factor = 2; factor*factor <= a; factor++)   // 2이상, 루트a 이하의 자연수중에서 제곱근이 있는지 찾는 부분
   { 
    if(squareN(a, factor) * b <= 100)                 // 만약 n 과 b의 곱이 100이하이면, 중복이니까 arr_test[b]에 0을 넣어, 중복효과 제거
    {
     arr_test[b] = 0;
    }
   }
   printf("%d", arr_test[b]);                                 // 1이면 중복 아님, 0이면 중복

   answer = answer + arr_test[b];                        // 1과 0을 계속 더해서 답을 구함.
  }
 }

 printf("The answer is %d\\n", answer);

 finish = clock();  // 걍시간구할때 쓰는거
 printf("Time : %.3lf", (finish-start)/CLK_TCK);  //걸린 시간 출력

 getchar();  // 콘솔창 꺼지는거 방지
 return 0;
}

int squareN(int a, int factor)
{
 int n = 0;  //n제곱 초기화  // 2부터 유효한 값임
 int copy_a = a;   //a 저장용

   while(copy_a%factor == 0)        // a를 factor 로 계속 나눠서 factor 가 a의 임의의 n 제곱근인지 확인. 여기서 n 도 구함.
   { 
    copy_a = copy_a/factor;
    n = n + 1;
   }
 if((n == 0) || (n == 1) || (copy_a != 1))   // 제곱근이 아닌경우, 100보다 큰 10000 반환.
 {
  return 10000;
 }
 return n;  // 제곱근이면 n 을 반환
}

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 주위 눈치 안 보고(어쩌면 눈치 없이) MZ식 '직설 화법' 날릴 것 같은 스타는? 운영자 24/04/29 - -
210686 OpenCL 어디서 배우면 좋나요? 소인배갤로그로 이동합니다. 10.10.04 54 0
210685 어디가 에러라는지 봐주세요.. ㅜㅜ [12] 뉴비뉴비(121.139) 10.10.04 68 0
210684 형들은 c언어 첨 배울때 [5] (121.128) 10.10.04 82 0
210683 횽들 c파일을 학교에서 하다가 집에서 하려고 usb에 담아서 가져왔는데 [3] 123(219.249) 10.10.04 59 0
210682 opengl 비주얼 스튜디오에서 [4] ㅋㄱ(183.96) 10.10.04 92 0
210680 시벌 이렇게 하는 거였냐? [4] 166.44(116.44) 10.10.04 81 0
210678 횽들 임베디드 시스템 개발자가 정확히 하는 일이 뭐야? [15] 쏭사리(121.147) 10.10.04 228 0
210676 컴공과 4년제 대학나와서 연봉 1300이면 뭐냐. [3] ㅇㄹ(168.131) 10.10.04 359 0
210675 char goods [20+1]={0x00,}; 이거 무슨뜻임? [2] 헉헉(147.6) 10.10.04 52 0
210674 암것도모르겠어여.. [2] 늅비(180.182) 10.10.04 71 0
210671 요새 학교 다닐 맛이 난다. 써니덕후갤로그로 이동합니다. 10.10.04 108 0
210670 프갤 뉴비가 질문 좀 할게요 [5] 수손(222.237) 10.10.04 91 0
210669 34살인데 지금부터 공부하면 35살... [9] 쌈박(124.153) 10.10.04 227 0
210668 형들 왜 자료구조서 fast transpose matrix 잇자낭 [4] 횽들(219.241) 10.10.04 160 0
210667 리눅스에서 프로그래밍 궁금한게 있습니다. [3] 아자(220.67) 10.10.04 67 0
210665 내가 미래를 조금만 일찍 내다 보았어도 결혼할수 있었다. [8] 개쉛기갤로그로 이동합니다. 10.10.04 206 0
210664 횽들 질문이 있어 [31] 써니덕후갤로그로 이동합니다. 10.10.04 185 0
210663 컴파일러에 따라 결과가 다를수도 있나요? [5] ㅇㅇ(222.106) 10.10.04 93 0
210661 vs2008 학생버전 말인데 [1] 166.44(116.44) 10.10.04 66 0
210660 아 나는 천재인가 봄 166.44(116.44) 10.10.04 57 0
210659 나모웹에디터가 그냥 html 페이지 쉽게 만들어주는거나여? [13] ㅇㄹ(168.131) 10.10.04 113 0
210658 스미골 횽님 감히 여쭤볼게 있사옵니다 [10] LightEach갤로그로 이동합니다. 10.10.04 155 0
210657 충격과 공포 [2] LightEach갤로그로 이동합니다. 10.10.04 112 0
210654 어 뭐지 돌풍메롱(121.182) 10.10.04 45 0
210653 이거 어디서 가져오는거임?? 채팅방 그거.. [3] ㅇㄹ(168.131) 10.10.04 54 0
210652 흉아들 한국은 액티브엑스 언제 없어져요/? [3] 페퍼.갤로그로 이동합니다. 10.10.04 82 0
210651 드뎌 조건문 입성.. 이거 맞어? [2] 헌터(180.227) 10.10.04 60 0
210650 [자료구조]sorting 하는건데..프로그래밍 초짜라 도움좀 부탁드려요 [4] 도와주세요(220.88) 10.10.04 75 0
210649 호기심 [타진요 → 이중국적법 → 법안 → 정보통신법 → 방송법 → ?] [2] 한마디(121.139) 10.10.04 88 0
210648 이런 압축파일 만들기 가능할까요? [8] ㄴㄴㄴㄴ(83.157) 10.10.04 109 0
210647 듣지 말아야 할 교수 과목을 들은것 같다. [11] ㅇㄹ(168.131) 10.10.04 125 0
210646 한 3시간을 담배도 안피고 욜라 빡시게 코딩하니깐.... [1] 햏햏했갤로그로 이동합니다. 10.10.04 88 0
210645 포인터를 이용한 오름차순 질문좀 ㅠㅠ [3] 늅늅(210.115) 10.10.04 646 0
210644 디자이너 횽들 미안해욤 ㅠㅠ [8] 초밥술사갤로그로 이동합니다. 10.10.04 92 0
210642 애플 어플은 맥에서만 만들수있어? [1] 꾸닥(211.41) 10.10.04 111 0
210640 헐 ㅋ 쩐다 scanf 문자입력 버퍼에있던 엔터가 받아진다니 [2] C늅EE(218.154) 10.10.04 133 0
210639 횽들 급질..아스키 코드;;; [2] 아놔(210.121) 10.10.04 105 0
210638 api도움 되나요? [5] gjgj(115.90) 10.10.04 108 0
210636 내가 머무는 곳이 34층인데... [3] 물속의다이아갤로그로 이동합니다. 10.10.04 145 0
210635 [C]질문드려요 [15] ㄴㄴ(220.69) 10.10.04 154 0
210634 시험 시발 [2] 유리한갤로그로 이동합니다. 10.10.04 58 0
210633 3 Idiots 영화 재밌음 [1] Ordinary Day갤로그로 이동합니다. 10.10.04 87 0
210632 누가 비주얼 스튜디오 보고 vi 래? [1] 유리한갤로그로 이동합니다. 10.10.04 124 0
210629 ms에 전화해봤어 이모군(175.114) 10.10.04 48 0
210627 횽들 잘지내? [8] 물속의다이아갤로그로 이동합니다. 10.10.04 91 0
210626 능력자횽 이거 포트란으로 짤수 있나요? [2] smersmer(112.161) 10.10.04 87 0
210625 __super:: [7] 햏햏했갤로그로 이동합니다. 10.10.04 95 0
210618 c질문인데 아 과제하고 있는데 if문이 너무 많이 드간다 [5] ㅇㅇㅇ(61.100) 10.10.04 99 0
210613 엔프로텍터가 V3보다 좋쿠나. & 빗라커 [1] ㅄ아(183.2) 10.10.04 83 0
210611 넷빈에서 작성한 자바 프로그램 실행시킬 때 [1] 아주아슬갤로그로 이동합니다. 10.10.04 52 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2