Tổng bình phương các chữ số trong C++

/* www.programming9.com  */
#include
main()
{
    int n,i,sum;
    i=1,sum=0;
    printf("Enter Maximum Value(n):");
    scanf("%d",&n);
    while(i<=n)
    {
        sum=sum+i*i;
        ++i;
    }
    printf("Sum of squares of numbers from 1 to n is :%d ",sum);
}

ĐẦU RA

Enter Maximum Value(n):5
Sum of squares of numbers from 1 to n is :55

Để tìm tổng bình phương của N số tự nhiên, hãy khai báo một biến và khởi tạo nó với giá trị 1. Khai báo một biến sum khác và khởi tạo nó bằng 0. Bây giờ, trong mỗi lần lặp tăng giá trị tổng cho đến khi giá trị N

Tính tổng bình phương của N số tự nhiên trong C sử dụng vòng lặp for

#include
int main()
{
  int n, sum=0;

  printf("Enter n value: ");
  scanf("%d", &n);

  for(int i=0; i<=n; i++)
  {
     sum += (i*i);
  }

  printf("Sum of squares of first %d natural numbers = %d",
                                                  n, sum);

  return 0;
}

Đầu ra cho các trường hợp thử nghiệm khác nhau. -

Nhập giá trị n. 5
Tổng bình phương của 5 số tự nhiên đầu tiên = 55

Nhập giá trị n. 10
Tổng bình phương của 10 số tự nhiên đầu tiên = 385

Trong chương trình này, biến n lưu trữ giá trị của số được nhập bởi người dùng. Tương tự, biến sum lưu trữ kết quả

Tổng bình phương của n số tự nhiên cũng có thể được tính theo thứ tự ngược lại với cách trước. Ví dụ: tổng bình phương của N số tự nhiên đầu tiên được cho là = n2 + (n-1)2 + … + 32 + 22 + 12

Trong trường hợp này, biến điều khiển vòng lặp nên khởi tạo với “n” và nên sử dụng toán tử giảm dần. Chương trình dưới đây cho thấy nó,

#include
int main()
{
  int n, sum=0;

  printf("Enter n value: ");
  scanf("%d", &n);

  for(int i=n; i>=0; i--)
  {
    sum += i*i;
  }

  printf("Sum of squares of first %d natural numbers = %d",
                                                 n, sum);

  return 0;
}

Sử dụng vòng lặp while

#include
int main()
{
  int n, sum=0, i=0;

  printf("Enter n value: ");
  scanf("%d", &n);

  while(i<=n)
  {
    sum += (i*i);
    i++;
  }

  printf("Sum of squares of first %d natural numbers = %d",
                                                  n, sum);

  return 0;
}

Không sử dụng vòng lặp

Ta cũng có thể tìm tổng bình phương của N số tự nhiên mà không cần dùng vòng lặp. Công thức được đưa ra là,

Cho một số được biểu diễn dưới dạng chuỗi str chỉ gồm chữ số 1 i. e. 1, 11, 111, …. Nhiệm vụ là tìm tổng các chữ số bình phương của số đã cho

ví dụ.  

Đầu vào. chuỗi = 11
đầu ra. 4
112 = 121
1 + 2 + 1 = 4

Đầu vào. str = 1111
đầu ra. 16
 

Khuyến khích. Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp

Cách tiếp cận ngây thơ. Tìm bình phương của số đã cho rồi tìm tổng các chữ số của nó

Dưới đây là việc thực hiện các phương pháp trên.   

C++




// C++ implementation of the approach

#include

using namespace std;

 

// Function to return the sum

// of the digits of num ^ 2

int

16
0

16
1

16
2_______191_______
16
4

16
2_______191_______
16
7

16
2

16
2// C++ implementation of the approach0

16
2_______191_______ // C++ implementation of the approach3

 

16
2// C++ implementation of the approach5

16
2_______184_______7// C++ implementation of the approach8

16
2_______5_______1

#include 1____185_______2

#include 1____185_______4

16
2#include 6

16
2_______185_______8 #include 9

#include 6

 

using1

int using3

16
1

16
2_______186_______6using7using8

 

16
2______187_______0

 

16
2_______185_______8 namespace3

#include 6

 

namespace5

Java




namespace6

namespace6

namespace8 namespace9

std;0 std;1

16
1

 

// Function to return the sum

// of the digits of num ^ 2

std;5 int std;7

16
1

16
2_______191_______ // Function to return the sum1// Function to return the sum2using8

16
2_______191_______ // Function to return the sum6

16
2

16
2// C++ implementation of the approach0

16
2_______191_______ // C++ implementation of the approach3

 

16
2// C++ implementation of the approach5

16
2_______184_______7// of the digits of num ^ 27// Function to return the sum2// of the digits of num ^ 29

16
2_______5_______1

#include 1int3int4int5

#include 1int7int4using8

16
2#include 6

16
2_______185_______8 #include 9

#include 6

 

using1

16
07 std;5
16
09
16
10

16
1

16
2_______5_______13using7using8

 

16
2_______5_______17

#include 6

#include 6

 

16
20

Python3




16
21

 

16
22

16
23

16
24
16
25

 

16
2_______5_______27_______5_______28 // Function to return the sum2

16
2_______5_______31_______5_______28 int
16
34

16
2

16
2_______5_______37

16
2_______5_______39_______5_______28
16
31
16
42
16
31

 

16
2_______5_______45

16
2_______184_______7
16
48// Function to return the sum2
16
50

#include 1

16
27
16
28
16
27
16
55
16
56
16
57 int4// of the digits of num ^ 29

#include 1

16
39
16
28
16
39
16
64
16
64int4

 

16
2_______185_______8
16
27

16
2

16
71

16
72
16
73
16
28_______5_______28
16
76
16
50

 

16
2_______5_______79
16
28 using7

16
2_______5_______83
16
84

C#




16
85

using

16
87

 

std;0 std;1

16
1

16
2

16
2// Function to return the sum

16
2______190_______

16
2_______188_______5 int std;7

16
2_______5_______1

#include 1____191_______

16
4

#include 1____191_______ // C++ implementation of the approach07int// C++ implementation of the approach09

 

#include 1// C++ implementation of the approach0

#include 1____191_______ // C++ implementation of the approach3

 

#include 1____184_______5

#include 1____184_______7// C++ implementation of the approach8

#include 1

16
1

// C++ implementation of the approach22____185_______2

// C++ implementation of the approach22____185_______4

#include 1____185_______6

#include 1#include 8 #include 9

16
2#include 6

16
2

16
2using1

16
2_______5_______07 std;5
16
09 // C++ implementation of the approach40

16
2_______5_______1

#include 1____184_______44using7using8

16
2

#include 1____184_______49

16
2#include 6

#include 6

 

namespace5

Javascript




// C++ implementation of the approach54

 

// C++ implementation of the approach55

 

// Function to return the sum

// of the digits of num ^ 2

// C++ implementation of the approach58 // C++ implementation of the approach59

16
1

16
2_______184_______62
16
4

16
2_______184_______62 // C++ implementation of the approach66

 

16
2// C++ implementation of the approach0

16
2_______184_______62 // C++ implementation of the approach3

 

16
2// C++ implementation of the approach5

16
2_______184_______7 // C++ implementation of the approach8

16
2_______5_______1

#include 1____185_______2

#include 1// C++ implementation of the approach82

16
2#include 6

16
2_______185_______8 #include 9

#include 6

 

using1

// C++ implementation of the approach62 // C++ implementation of the approach91using7using8

 

// C++ implementation of the approach94

 

// C++ implementation of the approach95

 

// C++ implementation of the approach96

đầu ra.

16

 

Độ phức tạp về thời gian. O(log10n), trong đó n không có chữ số nào trong số đã cho
Không gian phụ trợ. Ô(1)

cách tiếp cận hiệu quả. Có thể nhận thấy rằng trong bình phương của số đã cho, dãy [1, 2, 3, 4, 5, 6, 7, 9, 0] lặp lại ở phần bên trái và dãy [0, 9, 8, 7 . Cả hai chuỗi này xuất hiện sàn(chiều dài(str) / 9) lần và tổng của cả hai chuỗi này là 81 và bình phương của số cộng thêm 1 ở cuối
Vì vậy, tổng của tất cả những thứ này sẽ là [sàn(chiều dài(str) / 9)] * 81 + 1
Và các chữ số ở giữa có một chuỗi chẳng hạn như if length(str) % 9 = a thì chuỗi ở giữa là [1, 2, 3…. a, a – 1, a – 2,… 2]. Bây giờ, có thể thấy rằng tổng của phần này [1, 2, 3…. a] bằng (a * (a + 1))/2 và tổng của phần còn lại [a – 1, a – 2, … 2] là ((a * (a – 1))/2) – 1.  
Tổng cộng = sàn(chiều dài(str) / 9) * 81 + 1 + (chiều dài(str) % 9)2 – 1 = sàn(chiều dài(str) / 9) * 81 + (chiều dài(str) % 9)2

Dưới đây là việc thực hiện các phương pháp trên.  

C++




// C++ implementation of the approach

#include

using namespace std;

 

#include 02

 

// Function to return the sum

#include 04

#include 05

16
1

16
2#include 08

16
2#include 10

 

16
2#include 12

16
2#include 14

#include 15_______5_______55#include 17#include 18

 

16
2_______185_______8 #include 21

#include 6

 

using1

int using3

16
1

16
2_______185_______28using7using8

 

16
2#include 32

 

16
2_______185_______8 namespace3

#include 6

Java




namespace6

namespace8 namespace9

std;0 std;1

16
1

16
2

16
2// Function to return the sum

16
2#include 04

16
2_______188_______5 #include 50 #include 51

16
2_______5_______1

#include 1____185_______08

#include 1#include 50 #include 58

16
2

#include 1#include 12

#include 1#include 50 #include 64#include 65#include 66#include 67

16
55

#include 69_______185_______70#include 50_______185_______72#include 65#include 74#include 75int5

16
2

#include 1#include 8 #include 21

16
2#include 6

16
2

16
2using1

16
2_______5_______07 std;5
16
09
16
10

16
2_______5_______1

#include 1____184_______44using7using8

16
2

#include 1____185_______99

 

16
2#include 6

#include 6

 

using03

Python3




16
21

 

16
22

16
23

16
24
16
25

 

16
2using10

16
2_______186_______12
16
28 using14
16
34

 

16
2using17

16
2_______186_______19
16
28 using21_______5_______64
16
64#include 65// of the digits of num ^ 29
16
42#include 67
16
55 using21
16
57 #include 65// of the digits of num ^ 29_______5_______42_______5__87

Làm cách nào để tính tổng bình phương của một số đã cho?

Cách tính tổng bình phương .
Thu thập tất cả các điểm dữ liệu
Xác định giá trị trung bình/trung bình
Trừ giá trị trung bình/trung bình từ từng điểm dữ liệu riêng lẻ
Bình phương mỗi tổng từ Bước 3
Cộng các số liệu từ Bước 4

Làm cách nào để in bình phương n số trong C?

C Chương trình tính bình phương của một số. .
#include.
int chính ()
printf("Vui lòng nhập giá trị số nguyên bất kỳ. ");
scanf("%f", &số);
vuông = số * số;
printf("bình phương của một số đã cho %. 2f là = %. 2f", số, hình vuông);
trả về 0;

Có một chức năng vuông trong C?

Nguyên mẫu hàm của sqrt() . Hàm sqrt() được định nghĩa trong toán học. tập tin tiêu đề h. Để tìm căn bậc hai của các loại dữ liệu int , float hoặc long double, bạn có thể chuyển đổi loại thành double một cách rõ ràng bằng cách sử dụng toán tử ép kiểu.