디시인사이드 갤러리

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

갤러리 본문 영역

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

망캐ㅠ갤로그로 이동합니다. 2010.08.30 23:12:05
조회 118 추천 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
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 비난 여론에도 뻔뻔하게 잘 살 것 같은 스타는? 운영자 24/06/03 - -
217786 칭구가 데이터베이스관리자된다고 공부시작했는데 [2] `(121.164) 10.11.14 114 0
217784 프갤 현업 횽들에게 질문있어요..ㅠㅠ [8] 소쩍궁갤로그로 이동합니다. 10.11.14 161 0
217782 형들 자바스크립트 질문 하나만 할께 ㅠㅠ [4] 플라매냐갤로그로 이동합니다. 10.11.14 69 0
217781 디씨 글 지우는 프로그렘 막 업데이트 있다면서 링크 뜨는데요 ㅜ [1] 디씨클리너ㅜ(221.139) 10.11.14 73 0
217780 malloc을 이용한 구조체로 malloc보다 빠른 함수 만들기?? [5] ㅎㄷㄷ(24.118) 10.11.14 187 0
217779 C# 데이터베이스가 access 파일일 때 초기화하는 법 질문 [1] 1학년(222.107) 10.11.14 147 0
217778 #define 문에서 간단한 곱하기 가능함? [5] 르하소갤로그로 이동합니다. 10.11.14 109 0
217777 님들 고3수준으로 프로그래밍 공부하면서... [7] 불꽃(124.153) 10.11.14 187 0
217776 지금까지 한거 보여드릴게요 뭐가 문제인지좀.... [2] ㄱㄱㄱㄱㄱ(121.169) 10.11.14 84 0
217775 이거 왜이케 되는지 지적점 ㅎ; [12] AskWhat갤로그로 이동합니다. 10.11.14 203 0
217774 형들 매틀랩좀 알려줘~ 아까 그건데 upper 까지는 알겠는데 [3] ㄱㄱㄱㄱㄱ(121.169) 10.11.14 70 0
217773 for 문 빠져나가는법좀알려주세요 ㅠ [27] 고갱님(110.5) 10.11.14 215 0
217772 이번에 컴공가는대요 ㅠㅠ [12] 씹새리갤로그로 이동합니다. 10.11.14 229 0
217771 휴일 포풍 개발 [4] 한강구조견(59.6) 10.11.14 112 0
217770 전형적인 한국 드라마들의 웹표준.JPG [4] ㅇㅇ(222.107) 10.11.14 228 0
217768 학교에서 배우는 내용 모두 피가되고 살이되는걸 느낀다 [2] 금호족기(61.75) 10.11.14 96 0
217767 채팅서버.. 간단한게 아니구나~ [2] (121.159) 10.11.14 133 0
217766 시벌 내가 왜 웹표준을 지켜야함 [2] 116.44(116.44) 10.11.14 152 0
217765 미래에 대한 고민이 많다능 [3] 분당살람갤로그로 이동합니다. 10.11.14 71 0
217764 형들 매틀랩 문제 하나만 봐주세요 [2] ㄱㄱㄱㄱㄱ(121.169) 10.11.14 88 0
217761 25시간째 포퐁 눈오는중. [2] Minryu갤로그로 이동합니다. 10.11.14 134 0
217760 사소한 자료들도 배열 않쓰고 리스트 쓰면 볍진인가여 [2] 공격(218.51) 10.11.14 64 0
217759 포트란90 말인데요... [3] 굽신굽신ㅠ(112.162) 10.11.14 248 0
217758 아 노트북 못훔치게 하는법좀 알려주세요 [5] 공격(218.51) 10.11.14 122 0
217757 아아 도서관 사서랑 사귀고 시프다 [2] 짱개냥꾼갤로그로 이동합니다. 10.11.14 142 0
217756 고수님들 도와주세요~ ㅠㅠ 잇힝(220.127) 10.11.14 41 0
217755 오늘이 파전 벙개 날이었구나 [3] Rei@디씨갤로그로 이동합니다. 10.11.14 88 0
217754 아니 도데체 뭐가 문제인지 10시간동안고만해봤어염 [4] 고갱님(110.5) 10.11.14 67 0
217752 주말에는 갤러리가 조용하네요 [5] 잔광갤로그로 이동합니다. 10.11.14 83 0
217751 웹표준은 좋은 거군 116.44(116.44) 10.11.14 71 0
217750 개발자는 타면 안됩니다. [5] 고요한산울림갤로그로 이동합니다. 10.11.14 194 0
217749 소셜네트워크에서 보니깐 cpu에 대해서 배우는 장면 나오더라 [2] 금호족기(61.75) 10.11.14 152 0
217748 API 질문 [7] 초보(121.129) 10.11.14 99 0
217746 수업일수 1/3 이상 빠지면 F 확실한거지? [8] 금호족기(61.75) 10.11.14 139 0
217743 형들 모니터링 변수로 과제 내주셨는데... [1] 주시미갤로그로 이동합니다. 10.11.14 69 0
217742 이차배열을 포인터로 어떻게 나타내나요? [5] 박스레고갤로그로 이동합니다. 10.11.14 171 0
217741 최대사용전류 0.5A 입력전압 5V인 공유기를 W로 환산할라면 어뜨케해? [4] 금호족기(61.75) 10.11.14 134 0
217738 웹게임 만드는데 서버, 클라이언트 공부를 해야하겠지? [4] URA!갤로그로 이동합니다. 10.11.14 136 0
217737 아오 옆집 미친년은 감창소리가 끊이질 않네 -_- [11] 야메떼♥갤로그로 이동합니다. 10.11.14 1498 0
217735 프갤 irc 망했나요? [3] 아스페르거갤로그로 이동합니다. 10.11.14 463 0
217734 고1입니다 프로그래머를 지향하는데 어떤 대학이 가장 좋나요? [8] 아스페르거갤로그로 이동합니다. 10.11.14 231 0
217733 Javascript 좀 아는횽들 관심좀 흐거어허어허허어헝 자네로망갤로그로 이동합니다. 10.11.14 45 0
217732 난 아이패드 갤럭시탭 왜 사는지 이해가 안됨 [10] SIGSEGV갤로그로 이동합니다. 10.11.14 216 1
217731 비베 6 질문... ㅇㅁㄹ(121.146) 10.11.14 37 0
217730 갤럭시탭 만져보러 딜라이트 갔다왔는데.. [2] 변두리낚시꾼갤로그로 이동합니다. 10.11.14 127 0
217729 알려주는건 좋은데 초보에게 전문용어 쓰면서 알려주는건 좀... [2] URA!갤로그로 이동합니다. 10.11.14 93 0
217728 변수명 작명은 부모의 마음으로... [4] 권혁진(218.239) 10.11.14 119 0
217726 진짜 컴퓨터 고수형들 도와주셈!ㅠㅠㅠㅠ [5] 불쌍한중생(220.123) 10.11.14 117 0
217724 대학에서배운게직장가서쓸모없다면 [8] 파이썬가드(123.212) 10.11.14 223 0
217723 역시 손정의는 사업가야 [4] 분당살람갤로그로 이동합니다. 10.11.14 152 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2