计数思想的原理是数学中的重要研究对象之一,分类加法计数原理、分步乘法计数原理是解决计数问题的最基本、最重要的方法,也称为基本计数原理,它们为解决很多实际问题提供了思想和工具。在本章中,学生将学习计数基本原理、排列、组合、二项式定理及其应用,了解计数与现实生活的联系,会解决简单的计数问题。
#include <bits/stdc++.h>
using namespace std;
int a[10005];
int main(){
int n;
cin>>n;
int num;
for(int i = 1; i<=n; i++){
cin>>num;
a[num] = a[num] + 1;
}
for(int i = 1; i<=10000; i++){//从大到小 for(int i = 10000; i>=1; i--)
if (a[i] != 0){
for(int j = 1; j<=a[i]; j++){
cout<<i<<" ";
}
}
}
return 0;
}
计数思想——判读一列数中有多少种不同的数
#include <bits/stdc++.h>
using namespace std;
int a[10005];
int main(){
int n;
cin>>n;
int num;
for(int i = 1; i<=n; i++){
cin>>num;
a[num] = 1;
}
int sum = 0;
for(int i = 1; i<=10000; i++){
if (a[i] == 1){
sum = sum+1;
}
}
cout<<sum;
return 0;
}
补充——冒泡排序也可做此题
#include <bits/stdc++.h>
using namespace std;
int a[1005];
int main(){
int n;
cin>>n;
for(int i = 1; i<=n; i++){
cin>>a[i];
}
for(int i = 1;i <= n-1;i++){
for(int j = 1; j <= n-i; j++){
if(a[j+1]>a[j]){
swap(a[j+1],a[j]);
}
}
}
int sum = 0;
for(int i = 1; i<=n; i++){
if(a[i] !=a [i-1]){
sum=sum+1;
}
}
cout<<sum;
return 0;
}