[白俊/c+]15736号:青気白気
質問リンク-https://www.acmicpc.net/problem/15736
最初は思い出せず、質問通りに回りました. は最初は青だったので、白いものは奇数でひっくり返ったので、1からNまで数えて数の中に奇数があります. は、このような約数を返す関数を記述し、主文で1からNに移動し、func(i)値が奇数であるものを計算する. はもちろんタイムアウトしました.時間制限は1秒ですが1億回回ると1秒入力値Nの範囲は21億です の約数が奇数であることは、平方数の場合にのみ可能な結果を意味する. だから1からNまでの数の中で、正しい答えを出すのは平方数の数だけだ.
🌱 質問する
🌱 に答える
//약수의 갯수 리턴하는 함수
int func(int n)
{
int cnt = 0;
for (int i = 1; i <= n; i++)
{
if (n % i == 0)
cnt++;
}
return cnt;
}
🌱 コード#コード#
// 15736번: 청기 백기
#include <iostream>
using namespace std;
int n;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
int answer = 0;
cin >> n;
// 1부터 n까지 수 중에서 제곱수의 갯수 카운트
for (int i = 1; i * i <= n; i++)
{
answer++;
}
cout << answer << "\n";
}
//약수 갯수가 홀수인것만 최종적으로 백색임.
//약수 갯수 홀수라는건 제곱수 라는뜻.
Reference
この問題について([白俊/c+]15736号:青気白気), 我々は、より多くの情報をここで見つけました https://velog.io/@somyeong0623/백준c-15736번-청기-백기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol