/**************************************************************
A+B(2)
****************************************************************/
#include<stdio.h>
int main(){
int a,b;
while(scanf("%d %d",&a,&b)!=EOF){
printf("%d\n",a+b);
}
printf("\n");
}
/**************************************************************
A+B(5)
****************************************************************/
#include<stdio.h>
int main()
{
int n,i,x,s;
while(scanf("%d",&n)!=EOF && n!=0)
{
s=0;
for(i=1;i<=n;i++)
{
scanf("%d",&x);
s=s+x;
}
printf("%d\n",s);
if(n==0)
break;
}
return 0;
}
/**************************************************************
求和
****************************************************************/
#include<stdio.h>
#include<string.h>
int main()
{
long a;
long s=0;
int i=0;
while(scanf("%d",&a)!=EOF){
for(;a!=0;i++){
s=s+(a%10);
a=a/10;
}
printf("%d %d\n",s,i);
i=0;
s=0;
}
}
/**************************************************************
害死人不偿命的(3n+1)
****************************************************************/
#include<stdio.h>
int main(){
int n=0;
int i=0;
while(scanf("%d",&n)!=EOF){
while(n!=1){
if(n%2==0){
n/=2;
}else{
n=(3*n+1)/2;
}
i++;
}
printf("%d\n",i);
i=0;
}
}
/**************************************************************
写出这个数
****************************************************************/
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
int main(){
char *str[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
char s[99];
int j=0;
int sum=0;
int sumRe = 0;
bool flag = false;
while(scanf("%s",s)!=EOF){
for(j=0;j<strlen(s);j++){
sum+=s[j]-'0';
}
while(sum!=0){//50
sumRe*=10;//0
sumRe+=sum % 10;//0
if(sum/10!=0 && sum%10==0){
if(sumRe==0){
flag=true;
}
}
sum/=10;//5
}
while(sumRe!=0){
if(sumRe<10){
printf("%s",str[sumRe%10]);
}else{
printf("%s ",str[sumRe%10]);
}
sumRe/=10;
}
if(flag==true){
printf(" %s\n",str[0]);
flag=false;
}else printf("\n");
sum =0;sumRe=0;
}
}
/**************************************************************
简单数学函数(1)
****************************************************************/
#include<stdio.h>
#include<math.h>
int f(int x){
return pow(x,2)+2+pow(2,x);
}
int main()
{
int x;
while(scanf("%d",&x)!=EOF){
if(x>=0){
printf("%d\n",f(x));
}
}
}
/**************************************************************
长方体的表面积和体积
****************************************************************/
#include<stdio.h>
#include<math.h>
int main(){
int a,b,h;
while(scanf("%d %d %d",&a,&b,&h)!=EOF){
int v,u;
v=2*(a*b+b*h+a*h);
u=a*b*h;
printf("%d %d\n",v,u);
}
// printf("\n");
}
/**************************************************************
找最大最小数
****************************************************************/
#include<stdio.h>
int Max=-1e7,Min=1e7,n,t;
int main()
{
while(scanf("%d",&n)!=EOF)
{
Max=-1e7,Min=1e7;
for(int i=0;i<n;i++)
{
scanf("%d",&t);
if(t>Max)
{
Max=t;
}
if(t<Min)
{
Min=t;
}
}
printf("%d %d\n",Max,Min);
}
}
/**************************************************************
三个数排序
****************************************************************/
#include<stdio.h>
int main(){
int a,b,c,temp=0;
while(scanf("%d %d %d",&a,&b,&c)!=EOF){
if(a>b){
temp=a;
a=b;
b=temp;
}
if(a>c){
temp=a;
a=c;
c=temp;
}
if(b>c){
temp=b;
b=c;
c=temp;
}
printf("%d %d %d",a,b,c);
printf("\n");
}
}
/**************************************************************
星星(5)
****************************************************************/
#include <stdio.h>
int main()
{
int i=0,j=0,n;
while(scanf("%d",&n)!=EOF){
for(i=1;i<=n;++i)
{
for(j=1;j<=i-1;++j)
{
printf(" ");
}
for(j=1;j<=2*n-(2*i-1);++j)
{
printf("*");
}
printf("\n");
}
}
}
/**************************************************************
星星(6)
****************************************************************/
#include <stdio.h>
int main(){
int i,j,n;
while(scanf("%d",&n)!=EOF){
for(i=0;i<n;i++){
for(j=1;j<=n-i-1;++j){
printf(" ");
}
printf("*");
if(2*n-1==2*i+1){
for(j=1;j<2*n-2;++j){
printf("*");
}
}else{
for(j=1;j<=2*i-1;++j){
printf(" ");
}
}
if(2*i-1>0){printf("*");}
printf("\n");
}
}
}
/**************************************************************
判断闰年
****************************************************************/
#include<stdio.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
if(n % 4==0 && n%100!=0 ||n%400==0)
{
printf("yes\n");
}
else
{
printf("no\n");
}
}
}
/**************************************************************
这个月有多少天
****************************************************************/
#include<stdio.h>
int main(void){
int y,m;
while(scanf("%d %d",&y,&m)!=EOF){
if(y%4==0&&y%100!=0||y%400==0&&m==2)
//{
//if(m==2)
printf("29\n");
//}
else{
switch(m)
{
case 1:printf("31\n");break;
case 2:printf("28\n");break;
case 3:printf("31\n");break;
case 4:printf("30\n");break;
case 5:printf("31\n");break;
case 6:printf("30\n");break;
case 7:printf("31\n");break;
case 8:printf("31\n");break;
case 9:printf("30\n");break;
case 10:printf("31\n");break;
case 11:printf("30\n");break;
case 12:printf("31\n");break;
}
// m=0;
// y=0;
}
}
}
/**************************************************************
今天是今年第几天
****************************************************************/
#include<stdio.h>
int main(){
int i,y,m,d,sum=0;
int arr[12]={31,28,31,30,31,30,31,31,30,31,30,31};
while(scanf("%d %d %d",&y,&m,&d)!=EOF){
if(y%4==0&&y%100!=0||y%400==0)
arr[1]=29;
else
arr[1]=28;
for(i=0;i<m-1;++i){
sum+=arr[i];
}
sum+=d;
printf("%d\n",sum);
sum=0;
}
}
}
/**************************************************************
陶陶摘苹果
****************************************************************/
#include <stdio.h>
#include <math.h>
#define H 30
int main() {
int n=0;
int num[10],maxHeight;
while(scanf("%d %d %d %d %d %d %d %d %d %d",&num[0],&num[1],&num[2],&num[3],&num[4],&num[5],&num[6],&num[7],&num[8],&num[9])!=EOF){
scanf("%d",&maxHeight);
for(int i=0;i<10;i++){
if(maxHeight+H>=num[i]){
n++;
};
}
printf("%d\n",n);
n=0;
}
}
/**************************************************************
一元多项式相加
****************************************************************/
#include <stdio.h>
#include <string.h>
int main(){
int n1, n2;
while(scanf("%d", &n1) != EOF) {
int map[10000];
int cnt = 0;
memset(map, 0, sizeof map);
for(int i = 0; i < n1; i ++) {
int a, b;
scanf("%d%d", &a, &b);
map[b] += a; cnt ++;
}
scanf("%d", &n2);
for(int i = 0; i < n2; i ++) {
int a, b;
scanf("%d%d", &a, &b);
if(!map[b]) cnt ++;
map[b] += a;
}
cnt --;
for(int i = 0; i < 10000; i ++) {
if(map[i] > 0) {
printf("%d %d", map[i], i);
if(cnt --) printf(" ");
}
}
puts("");
}
return 0;
}
/**************************************************************
括号匹配
****************************************************************/
#include <stdio.h>
#include <string.h>
int main(){
int n1, n2;
while(scanf("%d", &n1) != EOF) {
int map[10000];
int cnt = 0;
memset(map, 0, sizeof map);
for(int i = 0; i < n1; i ++) {
int a, b;
scanf("%d%d", &a, &b);
map[b] += a; cnt ++;
}
scanf("%d", &n2);
for(int i = 0; i < n2; i ++) {
int a, b;
scanf("%d%d", &a, &b);
if(!map[b]) cnt ++;
map[b] += a;
}
cnt --;
for(int i = 0; i < 10000; i ++) {
if(map[i] > 0) {
printf("%d %d", map[i], i);
if(cnt --) printf(" ");
}
}
puts("");
}
return 0;
}
/**************************************************************
一维数组的删除
****************************************************************/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[5];
boolean flag = false;
while (sc.hasNext()) {
for(int i=0;i<5;i++) {
arr[i] = sc.nextInt();
}
int key = sc.nextInt();
for(int i=0;i<5;i++) {
if (arr[i] == key) {
arr[i] = 0;
flag = true;
break;
} else flag = false;
}
if (flag) {
for(int i=0;i<4;i++) {
if (arr[i] != 0)
System.out.print(arr[i] + " ");
}
System.out.println(arr[4]);
} else {
System.out.println("not found");
}
}
sc.close();
}
}
/**************************************************************
约瑟夫问题(1)
****************************************************************/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
System.out.println(yuesefu(n, 3) + 1);
}
sc.close();
}
public static int yuesefu(int n, int m) {
if (n == 1) return 0;
else return (yuesefu(n - 1, m) + m) % n;
}
}
/**************************************************************
关于回文串
****************************************************************/
# include <stdio.h>
# include <string.h>
# include <ctype.h>
int main()
{
int i,j,n,m;
char c1[999],c2[999],c3[999];
while(scanf("%d",&n)!=EOF)
{
int l=0;
while(n--)
{
int flag = 1;
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
memset(c3,0,sizeof(c3));
l++;
scanf("%s",c1);
int len=strlen(c1);
for(i=0,j=len-1;i<j;i++,j--)
{
if(c1[i]!=c1[j])
{
flag = 0;
break;
}
c2[i]=c1[i];
c3[i]=c3[j];
}
if(flag)
{
int flag1=1;
for(i=0,j=len/2-1;i<len/2-1;i++,j--)
{
if(c2[i]!=c2[j]||c3[i]!=c3[j])
{
flag1=0;
break;
}
}
if(flag1)
printf("Case #%d: Double Palindrome\n",l);
else
printf("Case #%d: Single Palindrome\n",l);
}
else
printf("Case #%d: Not Palindrome\n",l);
}
}
return 0;
}
/**************************************************************
超级楼梯
****************************************************************/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
System.out.println(fib(n));
}
sc.close();
}
public static int fib(int n) {
if (n == 1) return 0;
if (n == 2) return 1;
if (n == 3) return 2;
return fib(n - 1) + fib(n - 2);
}
}
/**************************************************************
杨辉三角
****************************************************************/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = 0;
int arr[][];
while(scanner.hasNext()){
n = scanner.nextInt();
arr=new int[n][];
if(n>0){
arr[0]=new int[1];
arr[0][0]=1;
System.out.println(arr[0][0]);
}
for(int i =1;i<n;i++){
arr[i]=new int[i+1];
arr[i][0]=1;
arr[i][i]=1;
System.out.print(arr[i][0]+" ");
for(int j = 2;j<=i;j++){
arr[i][j-1]=arr[i-1][j-2]+arr[i-1][j-1];
System.out.print(arr[i][j-1]+" ");
}
System.out.println(arr[i][i]);
}
}
scanner.close();
}
}
/**************************************************************
大小数问题
****************************************************************/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
for(int i=0;i<n;i++) {
long a = sc.nextLong();
long b = sc.nextLong();
System.out.printf("Case %d:\n", i + 1);
System.out.printf("%d+%d=%d\n", a, b, a + b);
}
}
sc.close();
}
}
/**************************************************************
递归-求逆序对数
****************************************************************/
i
mport java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int count = 0;
int n = sc.nextInt();
int[] arr = new int[n+1];
for(int i=0;i<n;i++) arr[i] = sc.nextInt();
for(int i=0;i<n;i++) {
for(int j=i+1;j<n;j++) {
if (arr[i]>arr[j]) count++;
}
}
System.out.println(count);
}
sc.close();
}
}
/**************************************************************
递归-全排列
****************************************************************/
#include <cstdio>
#include <algorithm>
#include <cstring>
int main() {
char s[50];
int count = 0;
while (scanf("%s",s) != EOF) {
do{
count++;
} while (std::next_permutation(s, s + strlen(s)));
printf("%d\n",count);
count = 0;
}
return 0;
}
/**************************************************************
****************************************************************/