Armstrong 숫자
#include <iostream>
using namespace std;
void printArmstrong()
{
int leftValue;
int midValue;
int rightValue;
for (int i = 100; i <= 999; i++)
{
leftValue = i / 100;
midValue = (i / 10) % 10;
rightValue = i % 10;
if (leftValue * leftValue * leftValue + midValue * midValue * midValue + rightValue * rightValue * rightValue == i)
{
cout << "armstrong: " << i << endl;
}
}
}
void main()
{
printArmstrong();
}
#include <iostream>
using namespace std;
void printArmstrong()
{
for (int i = 1, i100 = 100; i <= 9; i++, i100 += 100)
{
int leftCube = i * i * i;
for (int j = 0, j10 = 0; j <= 9; j++, j10 += 10)
{
int midCube = j * j * j;
for (int k = 0, k0 = 0; k <= 9; k++, k0++)
{
int rightCube = k * k * k;
if ((i100 + j10 + k0) == (leftCube + midCube + rightCube))
cout << "armstrong: " << leftCube + midCube + rightCube << endl;
}
}
}
}
void main()
{
printArmstrong();
}
공식(p+1)^3=p^3+3p^2+3p+1과(p+1)^2=p^2+2p+1을 이용하여 상기 코드를 최적화한다.
#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
int squareArray[10];
int cubeArray[10];
void printArmstrong()
{
*squareArray = 0;
*cubeArray = 0;
for (int i = 1; i < 10; i++)
{
squareArray[i] = squareArray[i - 1] + 2 * (i - 1) + 1;
}
for (int i = 1; i < 10; i++)
{
cubeArray[i] = cubeArray[i - 1] + 3 * squareArray[i - 1] + 3 * (i - 1) + 1;
}
for (int i = 1, i100 = 100; i <= 9; i++, i100 += 100)
{
int leftCube = cubeArray[i];
for (int j = 0, j10 = 0; j <= 9; j++, j10 += 10)
{
int midCube = cubeArray[j];
for (int k = 0, k0 = 0; k <= 9; k++, k0++)
{
int rightCube = cubeArray[k];
if ((i100 + j10 + k0) == (leftCube + midCube + rightCube))
cout << "armstrong: " << leftCube + midCube + rightCube << endl;
}
}
}
}
void main()
{
printArmstrong();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.