Jadual Kandungan
Pernyataan Masalah
Contoh
Penyelesaian kepada penyataan masalah
Kaedah Pertama: Penyelesaian Keganasan
pseudocode
Output
Kaedah 2 menggunakan kaedah Newton-Raphson
Rumah pembangunan bahagian belakang C++ Nombor piramid segi empat sama (jumlah kuasa dua)

Nombor piramid segi empat sama (jumlah kuasa dua)

Sep 04, 2023 pm 11:57 PM
nombor segi empat sama piramid

Nombor piramid segi empat sama (jumlah kuasa dua)

A nombor piramid persegi merujuk kepada hasil tambah kuasa dua nombor asli. Nombor asli termasuk semua nombor dari 1 hingga infiniti. Sebagai contoh, 4 nombor piramid persegi pertama ialah 1, 5, 14, dan 30.

Untuk memahami dengan lebih baik, pertimbangkan fakta berikut: Jika kita bermula dengan piramid segi empat sama nombor dan menyusun bola nombor dalam tertib menurun, ia akan membentuk piramid.

Pernyataan Masalah

Diberikan nombor Jumlah. Jika Jumlah ialah hasil tambah kuasa dua bagi n nombor asli pertama, kembalikan n, jika tidak, kembalikan palsu.

Contoh 1

diterjemahkan sebagai:

Contoh 1

Input = 30
Output = 4
Salin selepas log masuk

Penjelasan = 30 ialah hasil tambah kuasa dua bagi 4 nombor asli yang pertama.

1*1 + 2*2 + 3*3 +4*4 = 30.
Salin selepas log masuk

Oleh itu, output hendaklah 4.

Contoh 2

Input = 54
Output = -1
Salin selepas log masuk

Penjelasan = Tiada jumlah kuasa dua mana-mana n nombor asli bersamaan dengan 54. Oleh itu, output hendaklah -1.

Penyelesaian kepada penyataan masalah

Ada dua penyelesaian untuk masalah ini.

Kaedah Pertama: Penyelesaian Keganasan

Kaedah keretakan brute force bermula dari n = 1. Buat 'jumlah' pembolehubah yang menambah kuasa dua nombor asli seterusnya kepada nilai jumlah sebelumnya. Mengembalikan n jika jumlah sama dengan Jumlah, sebaliknya mengembalikan palsu jika jumlah lebih besar daripada Jumlah.

pseudocode

start
n =1 
While (total < sum ):
   Total += n*n
   n=n+1
if(total == sum) : 
   Return n
Else:
   Return false
end
Salin selepas log masuk

Contoh

Di bawah ialah program C++ untuk menyemak sama ada nombor yang diberikan ialah hasil tambah kuasa dua nombor asli.

#include <iostream>
using namespace std;
// This function returns n if the sum of squares of first 
// n natural numbers is equal to the given sum
// Else it returns -1
int square_pyramidal_number(int sum) {
   // initialize total
   int total = 0;
   // Return -1 if Sum is <= 0
   if(sum <= 0){
      return -1;
   }
   
   // Adding squares of the numbers starting from 1
   int n = 0;
   while ( total < sum){
      n++;
      total += n * n;
   }
   
   // If total becomes equal to sum return n
   if (total == sum)
   return n;
   
   return -1;
}
int main(){
   int S = 30;
   int n = square_pyramidal_number(S);
   cout<< "Number of Square Pyramidal Numbers whose sum is 30: "<< endl;
   (n) ? cout << n : cout << "-1";
   return 0;
}
Salin selepas log masuk

Output

Number of Square Pyramidal Numbers whose sum is 30: 
4
Salin selepas log masuk

Kerumitan masa - O(jumlah), dengan jumlah adalah input yang diberikan.

Kerumitan Ruang - O(1): Tiada ruang tambahan digunakan.

Kaedah 2 menggunakan kaedah Newton-Raphson

Kaedah lain ialah kaedah Newton-Raphson. Kaedah Newton-Raphson digunakan untuk mencari punca bagi fungsi tertentu f(x) dan tekaan awal punca.

sum of squares of first n natural numbers = n * (n + 1) * (2*n + 1) / 6, 

n * (n + 1) * (2*n + 1) / 6 = sum or 

k * (k + 1) * (2*k + 1) – 6*sum = 0
Salin selepas log masuk

Jadi n ialah punca bagi persamaan padu ini dan boleh dikira menggunakan kaedah Newton-Raphson yang melibatkan bermula daripada nilai tekaan awal x0 dan menggunakan formula berikut untuk mencari nilai x seterusnya iaitu daripada nilai sebelumnya xn dapat xn+1.

$$mathrm{x_{1}=x_{0}-frac{f(x_{0})}{f^{'}(x_{0})}}$$#🎜 🎜#

pseudocode

Start
calculate func(x) and derivativeFunction(x) for given initial x
Compute h: h = func(x) / derivFunc(x)
While h is greater than allowed error ε 
   h = func(x) / derivFunc(x)
   x = x – h
If (x is an integer):
   return x
Else:
   return -1;
end
Salin selepas log masuk

Contoh

Di bawah ialah program C++ untuk menyemak sama ada nombor yang diberikan ialah hasil tambah kuasa dua nombor asli.

#include<bits/stdc++.h>
#define EPSILON 0.001
using namespace std;
// According to Newton Raphson Method The function is
// k * (k + 1) * (2*k + 1) – 6*sum or 2*k*k*k + 3*k*k + k - 6*sum                  
double func(double k, int sum){
   return 2*k*k*k + 3*k*k + k - 6*sum;
}
// Derivative of the above function is 6*k*k + 6*k + 1
double derivativeFunction(double k){
   return 6*k*k + 6*k + 1;
}
// Function to check if double is an integer or not
bool isInteger(double N){
   int X = N;
   double temp2 = N - X;
   if (temp2*10 >=1 ) {
      return false;
   }
   return true;
}
// Function that finds the root of k * (k + 1) * (2*k + 1) – 6*sum
int newtonRaphson(double k, int sum){
   double h = func(k, sum) / derivativeFunction(k);
   while (abs(h) >= EPSILON){
      h = func(k, sum)/derivativeFunction(k);
      // k(i+1) = k(i) - f(k) / f'(k)
      k = k - h;
   }
   if (isInteger(k)) {
      return (int)k;
   }
   else {
      return -1;
   }
}
// Driver program
int main(){
   double x0 = 1; // Initial values assumed
   int sum = 91;
   int n = newtonRaphson(x0,sum);
   cout<< "Number of Square Pyramidal Numbers whose sum is 91: "<< endl;
   (n) ? cout << n : cout << "-1";
   return 0;
}
Salin selepas log masuk

Output

Number of Square Pyramidal Numbers whose sum is 91: 
6
Salin selepas log masuk
Kerumitan Masa - O((log n) F(n)) dengan F(n) ialah kos pengiraan f(x)/f'(x), dengan ketepatan n-digit.

Kerumitan Ruang - O(1): Tiada ruang tambahan digunakan.

KESIMPULAN

Artikel ini menyelesaikan masalah mencari nombor piramid segi empat sama bagi jumlah tertentu. Kami memperkenalkan dua kaedah: satu kaedah kekerasan dan satu lagi kaedah yang cekap. Kedua-dua kaedah menyediakan program C++.

Atas ialah kandungan terperinci Nombor piramid segi empat sama (jumlah kuasa dua). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memasukkan segi empat sama 2m³ pada telefon mudah alih 'Pengenalan terperinci: Kaedah input bagi simbol segi empat sama dan padu' Cara memasukkan segi empat sama 2m³ pada telefon mudah alih 'Pengenalan terperinci: Kaedah input bagi simbol segi empat sama dan padu' Feb 07, 2024 am 08:31 AM

Bolehkah anda memasukkan petak dan kubus dalam Excel? Berikut ialah beberapa kaedah input pantas untuk anda pilih. 1. Input kaedah input Pada masa kini, kaedah input sangat pintar Apabila anda menaip "persegi" atau "kubus", [²] dan [m³] akan muncul secara automatik dalam pilihan Kaedah input yang ditunjukkan di sini adalah anjing, dan khusus kaedah input tidak dinyatakan kaedah input Cina. Anda boleh menguji kaedah input anda sendiri. 2. Tetapkan input superskrip Mula-mula masukkan [m3] atau [m2] dalam sel, kemudian pilih nombor, klik kanan tetikus dan pilih tetapan format sel, kemudian tetapkan 3 dan 2 sebagai [superskrip], dan kemudian sahkan. Ia akan dipaparkan sebagai kubus atau segi empat sama 3. Alt + input papan kekunci kecil Tahan Alt dalam sel input tanpa melepaskannya, dan kemudian tekan nombor pada papan kekunci kecil.

Bagaimana untuk membuat kuasa dua segi empat sama dalam Excel Bagaimana untuk membuat kuasa dua segi empat sama dalam Excel Mar 20, 2024 am 11:10 AM

Apabila kita menggunakan perisian Excel untuk membuat jadual, kadangkala kita perlu menggunakan simbol segi empat sama. Sekarang saya akan berkongsi dengan anda bagaimana untuk memasukkan simbol segi empat sama dalam Excel, yang mana ramai rakan ingin tahu baru-baru ini. Kami ingin memasukkan petak dalam fail Excel, mula-mula buka fail Excel. Saya akan menggunakan meter persegi sebagai contoh untuk menunjukkan Pertama, masukkan m2 dalam jadual Excel. Kemudian gunakan tetikus untuk memilih nombor 2 dalam m2, kemudian klik kanan dan anda akan melihat fungsi [Format Cells] Pada masa ini, pilih butang [Format Cells]. Pada masa ini, kotak dialog [Format Cells] akan muncul dalam fail Excel, dan kemudian cari

Min kuasa dua nombor asli? Min kuasa dua nombor asli? Sep 20, 2023 pm 10:29 PM

Purata kuasa dua nombor asli dikira dengan menambah semua kuasa dua n nombor asli dan kemudian membahagi dengan nombor itu. Dua nombor asli pertama dalam contoh ialah 2.5, 12+22=5=>5/2=2.5. Terdapat dua kaedah pengiraan dalam pengaturcaraan - Menggunakan gelung Menggunakan formula Mengira purata kuasa dua nombor asli menggunakan gelung Logik ini berfungsi dengan mencari kuasa dua semua nombor asli. Cari kuasa dua setiap satu dengan menggelung dari 1 hingga n dan tambah pada pembolehubah hasil tambah. Kemudian bahagikan jumlah itu dengan n. Program untuk mengira jumlah kuasa dua nombor asli - contoh kod tunjuk cara masa nyata #include<stdio.h>intmain(){ intn=2;

Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth Aug 30, 2023 pm 10:41 PM

Kita semua tahu nombor yang bukan kuasa dua mana-mana nombor, seperti 2, 3, 5, 7, 8, dll. Terdapat N nombor bukan persegi, dan adalah mustahil untuk mengetahui setiap nombor. Jadi, dalam artikel ini, kami akan menerangkan segala-galanya tentang nombor tanpa kuasa dua atau bukan kuasa dua dan cara untuk mencari nombor bukan kuasa dua N dalam C++. Nombor bukan kuasa dua ken Jika nombor ialah kuasa dua integer, maka nombor itu dipanggil kuasa dua sempurna. Beberapa contoh nombor kuasa dua sempurna ialah -1isquareof14issquareof29issquareof316issquareof425issquareof5 Jika nombor bukan kuasa dua mana-mana integer, maka nombor itu dipanggil bukan kuasa dua. Sebagai contoh, 15 nombor bukan kuasa dua yang pertama ialah -2,3,5,6,

Top 10 Global Ranking Platform Perdagangan Mata Wang Maya Digital (2025 Perjalanan) Top 10 Global Ranking Platform Perdagangan Mata Wang Maya Digital (2025 Perjalanan) Mar 06, 2025 pm 04:36 PM

Pada tahun 2025, platform perdagangan mata wang maya digital global sangat kompetitif. OKX menduduki tempat pertama dengan kekuatan teknikal yang kuat dan strategi operasi global, dan Binance mengikuti rapat dengan kecairan yang tinggi dan yuran yang rendah. Platform seperti Gate.io, Coinbase, dan Kraken berada di barisan hadapan dengan kelebihan masing -masing. Senarai ini meliputi platform perdagangan seperti Huobi, Kucoin, Bitfinex, Crypto.com dan Gemini, masing -masing dengan ciri -cirinya sendiri, tetapi pelaburan harus berhati -hati. Untuk memilih platform, anda perlu mempertimbangkan faktor -faktor seperti keselamatan, kecairan, yuran, pengalaman pengguna, pemilihan mata wang dan pematuhan peraturan, dan melabur secara rasional

atur cara C untuk mencari faktor perdana terbesar bagi suatu nombor atur cara C untuk mencari faktor perdana terbesar bagi suatu nombor Aug 27, 2023 am 10:09 AM

Faktor Perdana−Teori Nombor,faktor utama bagibilangan bulat positif ialah nombor perdanayang bahagikan dalam satu sama lain.Proses mencari nombor disebut sebagai pemfaktoranteger,ataupemfaktoran.Contoh−Faktor perdana bagi288 ialah:288=2x2x2x2x

Program Java untuk mencipta piramid dan corak Program Java untuk mencipta piramid dan corak Sep 05, 2023 pm 03:05 PM

Jika ada yang ingin mendapatkan asas yang kukuh dalam bahasa pengaturcaraan Java. Kemudian, adalah perlu untuk memahami bagaimana gelung berfungsi. Tambahan pula, menyelesaikan masalah Corak Piramid ialah cara terbaik untuk meningkatkan pengetahuan anda tentang asas Java kerana ia termasuk penggunaan meluas gelung untuk dan sementara. Artikel ini bertujuan untuk menyediakan beberapa program Java untuk mencetak corak piramid dengan bantuan pelbagai jenis gelung yang tersedia di Java. Program Java untuk Mencipta Corak Piramid Kami akan mencetak pola piramid berikut melalui program Java - Piramid Bintang Terbalik Piramid Piramid Bintang Mari kita bincangkan satu persatu. Mod 1: Kaedah piramid bintang terbalik mengisytiharkan dan memulakan integer "n" yang menentukan bilangan baris. Seterusnya, takrifkan kiraan awal ruang sebagai 0 dan kiraan awal bintang sebagai "n+

10 platform perdagangan mata wang digital teratas senarai terbaru 10 platform perdagangan mata wang digital teratas 10 platform perdagangan mata wang digital teratas senarai terbaru 10 platform perdagangan mata wang digital teratas Mar 17, 2025 pm 05:57 PM

10 platform perdagangan mata wang digital teratas: 1. Okx, 2. Binance, 3. Gate.io, 4. Huobi Global, 5. Kraken, 6. Coinbase, 7. Kucoin, 8.

See all articles