반응형
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int count = 0;
for (int x = 0; x <= 100; x++)
{
for (int y = 0; y <= 100; y++)
{
if (y <= 2.0 / 3 * x && y >= 1.0 / 3 * x && x * x + y * y <= 10000)
count++;
}
}
cout << count;
}
x와 y를 for문을 통해서 100번 반복시킵니다. 그 다음 if문을 통해서 문제에 있는 y=2/3x 와 y=1/3x의 조건식을 검사해주면 됩니다. y를 통해서 검사를 해줄 것이며 세번째 조건에서는 x와 y의 좌표가 원의 정식 x^2 + y+2 <= 10000 인지 확인해주면 됩니다.
#include <iostream>
using namespace std;
bool rel_prime(int a, int b)
{
int small = min(a, b);
for (int i = 2; i <= small; i++)
{
if(a % i == 0 && b % i == 0)
return false;
}
}
int main()
{
int count = 0;
for (int i = 2; i <= 100; i++)
{
for (int j = 1 + i; j <= 100; j++)
{
for (int k = 1 + j; k <= 100; k++)
{
if (rel_prime(i, j) && rel_prime(j, k) && rel_prime(k, i))
count++;
}
}
}
cout << count;
}
먼저 프라임을 세어주기 위한 함수를 만들어줍니다. a와 b가 서로소인 것을 판별하기 위해서 최소값을 찾은 후 그 최소값까지 모든 수로 나눠보고 공약수가 있으면 fasle를 반환하고 없으면 true를 반환하는 것입니다.
그 다음 for문을 통해 i를 2부터 100까지 증가, j를 i+1부터 100까지 증가, k를 j+1부터 100까지 증가합니다. 그런 다음ㅈ rel_prime을 사용하여 세 개의 수가 서로소이면 count 하게 합니다.
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int count = 0;
for (int i = 1; i <= n; i++)
{
int k = i;
while (k > 0)
{
if (k % 10 == 0)
count++;
k / 10;
}
}
cout << count;
return 0;
}
해당 문제를 풀기 위해서는 계속해서 10을 나누었을 때 나머지가 0이 구하는 것이 존재하는지 보기 위해서 나누기 10을 통해서 해주면 됩니다. 0이 각 자리에 하나라도 존재한다면 0이 나오기 때문에 구할 수 있는 것입니다.
반응형
'IT 프로그래밍 > 객체지향프로그래밍' 카테고리의 다른 글
객체지향 프로그래밍 25번 , 26번, 28번, 29번, 30번, 31번, 32번, 33번 (0) | 2024.04.20 |
---|---|
객체지향프로그래밍 16번, 17,번, 18번, 19번, 22번, 23번, 24번 (0) | 2024.04.20 |
[C++] 12번 (0) | 2024.04.17 |
[C++]음이 아닌 정수 중 최소값 출력, 이진수 변환 출력 (0) | 2024.04.17 |
[C++] Finding the Smallest Positive Integer (0) | 2024.04.17 |