三连击

题目描述

将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] 普及组的更多相关文章

  1. C++算法代码——三连击[NOIP1998 普及组]

    题目来自:https://www.luogu.com.cn/problem/P1008 题目背景 本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序. 题目 ...

  2. NOIP2012 普及组 T3 摆花——S.B.S.

    题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时 ...

  3. NOIP2016普及组复赛解题报告

    提高组萌新,DAY1DAY2加起来骗分不到300,写写普及组的题目聊以自慰. (附:洛谷题目链接 T1:https://www.luogu.org/problem/show?pid=1909 T2:h ...

  4. 05:统计单词数【NOIP2011复赛普及组第二题】

    05:统计单词数 总时间限制:  1000ms 内存限制:  65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...

  5. [题解]noip2016普及组题解和心得

    [前言] 感觉稍微有些滑稽吧,毕竟每次练的题都是提高组难度的,结果最后的主要任务是普及组抱一个一等奖回来.至于我的分数嘛..还是在你看完题解后写在[后记]里面.废话不多说,开始题解. 第一题可以说的内 ...

  6. NOIP2016普及组

    普及组.代码有空发. 第一题就是买铅笔.暴力模拟绝对可取. 第二题就是回文日期.从t1的年份到t2的年份枚举每一年.头尾要特判. 第三题就是海港.骗了40分. 第四题就是魔法阵.不太好优化. 完.

  7. [NOIP2013] 普及组

    计数问题 纯模拟 #include<cstdio> #include<iostream> using namespace std; int main(){ int n,x; c ...

  8. NOIP2008 普及组T2 排座椅 解题报告-S.B.S

    题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...

  9. NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一 ...

随机推荐

  1. python工具之myql数据库操作

    import pymysql import config ''' 1.0 简单封装 1.1 添加了insert_id属性,返回insert时返回的主键 1.2 添加了column属性,返回查询的col ...

  2. 【学习笔记】HTML position(static、fixed、relative、absolute)

    [本文转载] position的四个属性值:static.fixed.relative.absolute 下面分别讲述这四个属性:<div id="parent">   ...

  3. SQL Server 2008还原数据库的具体方法

    俗话说“好记性不如烂笔头”,在相隔较长的时间段内,每次还原客户的数据库都记不清完全的步骤,为此mark一下. SQL Server 2008一般默认备份的文件格式是bak,即后缀名为.bak.bak文 ...

  4. HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported问题解决

    今天创建springboot项目的时候添加完依赖启动出现了这个错误 -- :: --- [ main] o.h.v.m.ParameterMessageInterpolator : HV000184: ...

  5. CPLD

    复杂可编程逻辑器件(Complex Programmable Logic Device, CPLD),CPLD适合用来实现各种运算和组合逻辑(combinational logic).一颗CPLD内等 ...

  6. Cognos邮件发送

    1.打开报表,点击下图的标记 2.设置发送格式收件人 3.设置报表格式 4.设置发送内容

  7. jq打印

    1.引入jQuery.print.min.js 2.将需要打印的东西用div包起来 3. $(".printDiv").print();

  8. DROP SEQUENCE - 删除一个序列

    SYNOPSIS DROP SEQUENCE name [, ...] [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP SEQUENCE 从数据库中删除序列号生成 ...

  9. ES6对象和数组解构

    解构可以避免在对象赋值时再生成多余的中间变量: function foo() { return [1,2,3]; } let arr = foo(); // [1,2,3] let [a, b, c] ...

  10. 简单批处理命令直接启动你的AVD

    大家都知道,要想启动AVD,一般方法是先打开Android SDK and AVDmanager,再选择你要启动的AVD选择start(废话) 那么,有没有一种简单的方法在任何位置一键启动你指定的av ...