실시 예 4 수 자기애
제목 설명
세자리 정수 (100 ~ 999), 각 숫자는 "선화의 수"라고 수 자체의 세제곱 동일한 경우 (예 : 153 = 1 3 + 5 3 + 3 3 ) 모두 찾기의 여러.
입력 형식
입력하지 마십시오
출력 형식
한 자리에서 여러 선.
SAMPLE INPUT
아니오
샘플 출력
153
* * *
...
* * *
(출력 조화되는)
(1) 1 개 프로그래밍 아이디어.
세 자리수 N (n은 100 ~ 999 사이의 정수이다) 총망라. n은 각각의 열거는 분해되는 경우 백 예 A (A = N / 100) 10 (B) (B = N / 10 ~ 10) 및 비트 (C) (C = N 10 %) A *의 A * A + B * B * C + B * C * C == N, N 다음 선화의 수이다.
(2) 소스.
#INCLUDE <STDIO.H>
() 주요 int로
{
INT N, A, B, C // N, A, B 및 C 세자리 자체와 백 및 열 비트이다
대 (N = 100, N <= 999; N ++)
{
A = N / 100;
B = N / 10 10 %;
C = 10 %, N;
경우 (A * A * A + B * B * C + B * C * C == N)
의 printf ( "가 % d \ n", N);
}
0을 반환;
}
(3) 2 개 프로그래밍 아이디어.
하고자하는 불량한 백 자리 3 (1 내지 9의 범위) 10 B (B는 0 내지 9의 범위이다)와 트리플 루프 (C) 비트 (0 내지 9 범위 C) 위한 루프 본체에서 3 자리 N (N = 100 * A + 10 * B + C)를 계산하고 만약 충족 A * A * A + B * B * B + C * C * C를 결정 == N, N 선화 다음의 수이다.
(4) 2 원.
사용법 #include <iostream>
네임 스페이스를 사용하여 표준;
() 주요 int로
{
INT N, A, B, C // N, A, B 및 C 세자리 자체와 백 및 열 비트이다
경우 (A = 1,은 <= 9; ++)
대 (b = 0, B <= 9; B ++)
대 (C = O, C <= 9; C ++)
{
N = 100 * 10 * A + B + C;
경우 (A * A * A + B * B * C + B * C * C == N)
의 printf ( "가 % d \ n", N);
}
0을 반환;
}
문제 4
4-1 서브 정수
이 질문은 로스 밸리 시험에서 선택되는 (https://www.luogu.org/problem/P1151)
제목 설명
다섯 자리 숫자 A에 대한 . 1 2 . 3 . 4 . 5 , 이는 세 개의 하위들로 분할 될 수있다 :
= 의 SUB1 1 의 2 의 3
= 의 Sub2라는 2 의 3 의 4
= 의 SUB3 3 의 4 의 5
예를 들어, 숫자 20207은 다섯 가지로 분리 할 수있다
SUB1 = 202
SUB2 = 020 (= 20)
SUB3 = 207
이제 K 정수 긍정적 주어, 프로그래밍은 이러한 세 개의 하위 자리 숫자의 SUB1, SUB2, SUB3 K 나눌 수 있음, 단, 다음과 같은 다섯 개 가지 조건 10,000 30,000입니다 만족하는 모든 번호를 받아야합니다.
입력 형식
양의 정수 K
출력 형식
조건 5 자리 숫자가 충족되는 각각의 행위 고출력 소형의 요구. 아니 중복되거나 누락 된 출력. 해결책, 출력 "아니오"를합니다.
SAMPLE INPUT
(15)
샘플 출력
22555
25555
28555
30000
(1) 프로그래밍 아이디어.
제목 키 SUB1에게 하위 3 ~ 5 수 (n), SUB2 및 SUB3의 숫자를 격리됩니다. 높은 SUB1 이후, n은 3 자리 따라서 SUB1 = N / 100; SUB2 중간 n은 3 비트, 따라서 SUB2 = N / 10 ~ 1000이다 SUB3 낮은 n은 3 자리 따라서 SUB3 = N 개 ~ 1000.
위한 순환 (N = 10000; N <= 30000; N ++) 각각의 N-자리수은 철저한 것으로 판정.
(2) 소스.
#INCLUDE <STDIO.H>
() 주요 int로
{
INT I, SUB1, SUB2, SUB3, K, F = 0;
scanf와 ( "%의 D", K);
대해 (ⅰ = 10000; I <= 30000; I ++)
{
SUB1 = 1 / 100;
SUB2 = 1 / 10 ~ 1000;
SUB3 내가 % = 1000;
경우 (SUB1 % K == 0 && SUB2 % K == 0 && SUB3 % K == 0)
{
의 printf ( "가 % d \ n", I);
F = 1;
}
}
경우 (F == 0)의 printf ( "아니오 \ n");
0을 반환;
}
4-24 비트 세그먼트의 수의 제곱
제목 설명
수 개의 비트들과 동일하며 제곱으로 나눈 2, 4 개 개의 세그먼트의 수의 제곱을 호출하는 경우 (4)는 전에 두 후 2 비트 자연수로 분할된다. 예를 들어 2025 = (20 + 25) 2 .
모든 4 개 개의 세그먼트와 수의 제곱을 구하는 프로그램을 작성하라.
입력 형식
입력하지 마십시오
출력 형식
한 자리에서 여러 선.
SAMPLE INPUT
아니오
샘플 출력
2,025
* * *
...
* * *
(출력 조화되는)
(1) 1 개 프로그래밍 아이디어.
1000 내지 9999, 9000의 총 개수에 대한 모든 정수 N 철저한 4 N 범위에 대해. 각각의 수 (N)는 고 두자리 X (X = N / 100) 및 낮은 두자리 Y (Y = N ~ 100 %) 한 후 판단을 분리하는 경우 만족 N == (X + Y) * ( X + Y)는 다음 N 4 비트 세그먼트 제곱 수이다.
(2) 소스.
#INCLUDE <STDIO.H>
() 주요 int로
{
INT N, X, Y;
대 (N = 1000, N <= 9999, N ++)
{
X = N / 100;
및 N = 100 %;
경우 (N == (X + Y) * (X + Y))
의 printf ( "가 % d \ n", N);
}
0을 반환;
}
(3) 2 개 프로그래밍 아이디어.
아이디어 철저한 숫자 1은 9000 배이다. 네 개의 세그먼트 수의 제곱 먼저 정사각형 참조해야하므로 사실상, 즉 철저한 SQRT SQRT (9999)과 (1000) 번호 ~ 4 비트의 완전한 사각형으로 만 필요 A, 루프의 본체에, 그리고, 제 4 자릿수, N = A *는 다음 분리 상위 두 자리 수 X (X = N / 100) 및 낮은 두자리 Y (Y = N ~ 100 %)을 산출 == (X + Y)을 만족하는지 여부를 결정, 다음 N 4 비트 세그먼트 제곱 수이다. 분명히, 이러한 철저한, 사이클 시간이 크게 줄어 듭니다.
(4) 2 원.
#INCLUDE <STDIO.H>
#INCLUDE <math.h>
() 주요 int로
{
, Y, X하는 INT, N;
위한 (a = (INT) SQRT (1000)은 <= (int)를 SQRT (9999) ++)
{
N = A *는;
X = N / 100;
및 N = 100 %;
경우 (a == X + Y)
의 printf ( "가 % d \ n", N);
}
0을 반환;
}
4-3 특정 네 자리
제목 설명
등의 특정 네 자리 숫자가 있습니다, 그것은 하나의 천의 십 자리 숫자는 백일 디지털 제품 자리의 합과 같다. 예를 들어 3136, 1 * 3 + 3 = 6이므로 3136은 특정 숫자된다.
입력 형식
양의 정수 K (1,111 <= K <= 9999)
출력 형식
K는 일정한 최대 네 자리 숫자보다 더 크다.
SAMPLE INPUT
8000
샘플 출력
7,921
(1) 프로그래밍 아이디어.
난 철저한 K에서 시작 자리는 1 천 (a = 난 / 1000), 백 개 (B) (b = (IA는 1000 *) / (100)) 각 숫자의 I 10 C 분리 (d = 1 ~ 10 %) (c = (도 1a /) 10 1000 * 100 * B) 및 비트 거라고.
(2) 소스.
#INCLUDE <STDIO.H>
() 주요 int로
{
int로 I, K, A, B, C, D;
scanf와 ( "%의 D", K);
대해 (ⅰ = K를, I> = 1000; 난 -)
{
A = I / 1000;
B = (IA는 1000 *) / (100);
C = (IA-B * 1000 * 100) / 10;
D = 1의 10 %;
경우 (A + C, B == * d)
{
의 printf ( "가 % d \ n", I);
단절;
}
}
0을 반환;
}