[NOIP1998] 普及组

2023-05-04,

三连击

题目描述

将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。

输入输出格式

输入格式:

木有输入

输出格式:

若干行,每行3个数字。按照每行第一个数字升序排列。

输入输出样例

输入样例#1:


输出样例#1:

192 384 576
* * *
...
* * *
(输出被和谐了)

三重循环暴力枚举数字即可。

其实也可以枚举第一个数字,按照比例算其他两个数字。

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
bool bo;
int main(){
int a[]={};
int i,j,k=;
bool bo;bo=true;
for(i=;i<=;i++){
a[]=i/;
a[]=i/%;
a[]=i%;
a[]=i*/;
a[]=i*/%;
a[]=i*%;
a[]=i*/;
a[]=i*/%;
a[]=i*%;
bo=true;
for(j=;j<=;j++)
for(k=j+;k<=;k++)
if(a[j]==a[k]||a[j]==||a[k]==) bo=false;
if(bo==true){
cout<<a[]<<a[]<<a[]<<" "<<a[]<<a[]<<a[]<<" "<<a[]<<a[]<<a[]<<endl;
}
//for(j=1;j<=9;j++) cout<<a[j]; //test }
return ;
}

三连击

阶乘之和

题目描述

用高精度计算出S=1!+2!+3!+…+n!(n≤50)

其中“!”表示阶乘,例如:5!=5*4*3*2*1。

输入输出格式

输入格式:

一个正整数N。

输出格式:

一个正整数S,表示计算结果。

输入输出样例

输入样例#1:

3

输出样例#1:

9

裸高精乘

 #include<iostream>
#include<cstdio>
using namespace std;
int a[]={};
int b[]={};
int N=;
int la=,lb=;
void plu(int a[],int b[]){
for(int i=;i<=la||i<=lb;i++){
a[i]+=b[i];
if(a[i]>&&a[i+]==) la++;
a[i+]+=a[i]/;
a[i]%=;
}
}
void muti(int n){
if(n>N) return;
int i;
for(i=;i<=lb;i++)
b[i]*=n;
for(i=;i<=lb;i++){
if(b[i]>=){
if(b[i+]==) lb++;
b[i+]+=b[i]/;
b[i]%=;
}
}
plu(a,b);
muti(n+);
}
int main(){
int n=;
cin>>N;
b[]=;
muti();
while(a[la]==&&la>)la--;
for(int j=la;j>=;j--) printf("%d",a[j]);
return ;
}

阶乘之和

幂次方

题目太长不放

递归处理

 #include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std; int a[];
int dfs(int n)
{
//幂为0、1、2则直接输出,>=3则递归求解。
int i=;
if(n!=)
{
while(n>=a[i]) i++; i--; //找到最大的幂
n-=a[i];//下面12~20行是处理减去的这部分。
printf("");
if(i!=)printf("(");//注意1次幂是2而不是2(1)
if( i== || i == ) printf("%d)",i);//幂为0、1、2时可输出幂(幂1时无输出)
//如果幂>=3,对幂递归,不输出幂。
if(i>=) {dfs(i);printf(")");}//递归求解,再添加右括号。
if(n!=) {printf("+");dfs(n);}//子问题与子问题之间用+连接;处理剩余的n(子问题)。
}
return ;
}
int main(void)
{
int i,n;
a[]=;
for(i=;i<;i++)
a[i]=a[i-]*; //a:1 2 4 8 16 32……
scanf("%d",&n);
dfs(n);
return ;
}

幂次方

[NOIP1998] 普及组的相关教程结束。

《[NOIP1998] 普及组.doc》

下载本文的Word格式文档,以方便收藏与打印。