第一题 找最小值

题目描述

给出 n(n\le100)n(n≤100) 和 nn 个整数 a_i(0\le a_i \le 1000)ai​(0≤ai​≤1000),求这 nn 个整数中最小值是什么。

输入格式

输出格式

输入输出样例

输入 #1复制

8
1 9 2 6 0 8 1 7

输出 #1复制

0

代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
   int i, a,min=1000;
   int n;
   scanf("%d",&n);
   for(i=1;i<=8;i++)
   {
       scanf("%d",&a);
       if(min>a)
       {
           min=a;
       }
   }
   printf("%d",min);
    return 0;
}

第二题分类平均

题目描述

给定 n(n\le10000)n(n≤10000) 和 k(k\le 100)k(k≤100),将从 1 到 nn 之间的所有正整数可以分为两类:A 类数可以被 kk 整除(也就是说是 kk 的倍数),而 B 类数不能。请输出这两类数的平均数,精确到小数点后 1 位,用空格隔开。

数据保证两类数的个数都不会是 0。

输入格式

输出格式

输入输出样例

输入 #1复制

100 16

输出 #1复制

56.0 50.1

代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n, k, i,suma=0,sumb=0;
    double a = 0.0, b = 0.0;
    scanf("%d%d", &n, &k);
    for (i = 1; i <= n; i++)
    {
        if (i % k == 0)//是a类数字就加入a值中 同时suma记录a的个数
        {
            a += i;
            suma++;
        }
        else//同理
        {
            b += i;
            sumb++;
        }
    }
    printf("%.1lf %.1lf", a / suma, b / sumb);
    return 0;
}

第三题一尺之锤

题目描述

《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为 a(a\le 10^9)a(a≤109) 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2,向下取整)。第几天的时候木棍会变为 1?

输入格式

输出格式

输入输出样例

输入 #1复制

100

输出 #1复制

7

代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int  i, n;
    scanf("%d", &n);
    for (i = 1;; i++)//一直循环到n==1才返回 中间空白不打就可以一直循环 但要求里面可以跳出循环不然会死循环下去 这里n==1就是跳出循环
    {
        if (n == 1)//i是天数 n是目前长度
        {
            printf("%d", i);
            return 0;
        }
        n /= 2;
    }
    return 0;
}

第四题数字直角三角形

题目描述

给出n(1\le n\le13)n(1≤n≤13),请输出一个直角边长度是 nn 的数字直角三角形。所有数字都是 2 位组成的,如果没有 2 位则加上前导 0。

输入格式

输出格式

输入输出样例

输入 #1复制

5

输出 #1复制

0102030405
06070809
101112
1314
15

代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i, j, n, sum = 0;
    scanf("%d", &n);
    for (i = n; i>=0; i--)//控制每行数字个数打印完第一行就减一
    {
        for (j = 1; j<= i; j++)//打印每行数字个数
        {
            sum++;//从1到n
            if (sum < 10)//小于10在其前面补个0不然直接输出
            {
                printf("0%d", sum);
            }
            else
            {
                printf("%d", sum);
            }
            
        }
        printf("\n");  //换行
    }
    return 0;
}

第五题阶乘之和

题目描述

用高精度计算出 S = 1! + 2! + 3! + \cdots + n!S=1!+2!+3!+⋯+n!(n \le 50n≤50)。

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

输入格式

一个正整数 nn。

输出格式

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

输入输出样例

输入 #1复制

3

输出 #1复制

9

说明/提示

【数据范围】

对于 100 \%100% 的数据,1 \le n \le 501≤n≤50。

【其他说明】

注,《深入浅出基础篇》中使用本题作为例题,但是其数据范围只有 n \le 20n≤20,使用书中的代码无法通过本题。

如果希望通过本题,请继续学习第八章高精度的知识。

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i, sum = 0,n,ret=1;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
        ret *= i;
        sum += ret;
    }
    printf("%d", sum);
    return 0;
}
//只有50分 因为高精还没学会。。。。。。。。。。。。大佬勿喷

第六题计数问题

题目描述

试计算在区间 11 到 nn 的所有整数中,数字 xx(0\le x\le90≤x≤9)共出现了多少次?例如,在 11 到 1111 中,即在 1,2,3,4,5,6,7,8,9,10,111,2,3,4,5,6,7,8,9,10,11 中,数字 11 出现了 44 次。

输入格式

22 个整数 n,xn,x,之间用一个空格隔开。

输出格式

11 个整数,表示 xx 出现的次数。

输入输出样例

输入 #1复制

11 1

输出 #1复制

4

说明/提示

对于 100\%100% 的数据,1\le n\le 10^61≤n≤106,0\le x \le 90≤x≤9。

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i, n, x, sum = 0,a=0,b=0;
    scanf("%d%d", &n, &x);
    for (i = 1; i <= n; i++)
    {

if (i == x&&i<10)
            sum++;
        if (i>=10)
        {
            b=i;
            while (b)
            {
                a=b%10;
                b/= 10;
                if (a == x)
                    sum++;
            }
        }
    }
    printf("%d", sum);
    return 0;
}

第七题级数求和

题目描述

已知:S_n= 1+\frac{1}{2}+\frac{1}{3}+…+\frac{1}{n}Sn​=1+21​+31​+…+n1​。显然对于任意一个整数 kk,当 nn 足够大的时候,S_n>kSn​>k。

现给出一个整数 kk,要求计算出一个最小的 nn,使得 S_n>kSn​>k。

输入格式

一个正整数 kk。

输出格式

一个正整数 nn。

输入输出样例

输入 #1复制

1

输出 #1复制

2

说明/提示

【数据范围】

对于 100\%100% 的数据,1\le k \le 151≤k≤15。

【题目来源】

NOIP 2002 普及组第一题

代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
    double sn = 0;
    int k, n = 0;
    scanf("%d", &k);
    for (n = 1;; n++)//1 2 3 ....n分母的列举
    {
        sn += 1.0 / n;//sn的计算求和
        if (sn > k)//如果sn大于了k就跳出循环
        {
            break;
        }
    }
    printf("%d", n);
    return 0;
}

第八题金币

题目背景

NOIP2015 普及组 T1

题目描述

国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续 nn 天每天收到 nn 枚金币后,骑士会在之后的连续 n+1n+1 天里,每天收到 n+1n+1 枚金币。

请计算在前 kk 天里,骑士一共获得了多少金币。

输入格式

一个正整数 kk,表示发放金币的天数。

输出格式

一个正整数,即骑士收到的金币数。

输入输出样例

输入 #1复制

6

输出 #1复制

14

输入 #2复制

1000

输出 #2复制

29820

说明/提示

【样例 1 说明】

骑士第一天收到一枚金币;第二天和第三天,每天收到两枚金币;第四、五、六天,每天收到三枚金币。因此一共收到 1+2+2+3+3+3=141+2+2+3+3+3=14 枚金币。

对于 100\%100% 的数据,1\le k\le 10^41≤k≤104。

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int sum=0, k, n=1, i,flag=1;
    scanf("%d", &k);
    for (i = 1; i <= k; i++)//发金币天数
    {
        sum += n;//金币总和
        flag--;//数值相同金币发放天数 发一天少一天
        if (flag==0)//涨工资啦
        {
            n++;//涨一个金币
            flag = n;//天数也正好对应涨工资金币的个数
        }
    }
    printf("%d", sum);
    return 0;
}

第九题数列求和

题目描述

计算 1+2+3+\cdots+(n-1)+n1+2+3+⋯+(n−1)+n 的值,其中正整数 nn 不大于 100。由于你没有高斯聪明,所以你不被允许使用等差数列求和公式直接求出答案。

输入格式

输出格式

输入输出样例

输入 #1复制

100

输出 #1复制

5050

代码
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i, n, sum = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)//无脑加
    {
        sum += i;
    }
    printf("%d", sum);
    return 0;
}

第十题质数口袋

题目描述

小 A 有一个质数口袋,里面可以装各个质数。他从 22 开始,依次判断各个自然数是不是质数,如果是质数就会把这个数字装入口袋。口袋的负载量就是口袋里的所有数字之和。但是口袋的承重量有限,不能装得下总和超过 LL(1 \le L \le {10}^51≤L≤105)的质数。给出 LL,请问口袋里能装下几个质数?将这些质数从小往大输出,然后输出最多能装下的质数个数,所有数字之间有一空行。

输入格式

一行一个正整数 LL。

输出格式

将这些质数从小往大输出,然后输出最多能装下的质数个数,所有数字之间有一空行。

输入输出样例

输入 #1复制

100

输出 #1复制

2
3
5
7
11
13
17
19
23
9

代码

#define  _CRT_SECURE_NO_WARNINGS 1;
#include <stdio.h>
#include <stdlib.h>
int primer(int x)
{
    int i;
    for (i = 2; i*i<= x; i++)
    {
        if (x % i == 0)
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int i, l, count = 0, sum = 0,ret;
    scanf("%d", &l);
    if (l < 2)
    {
        printf("0\n");
        return 0;
    }
    else if (l == 2)
    {
        printf("2\n1\n");
        return 0;
    }
    for (i = 2;i<=l; i++)
    {
        
        if (i % 2 == 0 && i != 2)//当i不是质数直接跳到下一个数字
            continue;
        if (sum + i > l)//如果质数的数量超过了总容量打印个数这里必须加i不然有几个测试点会一直小于这个l
        {
            printf("%d\n", count);
            return 0;
        }
        if (primer(i))//如果是质数则是1进入if内部否则跳过这个if同时这里因为上面的if默认质数的总和小于总容量
        {
            printf("%d\n", i);//打印这个质数
            sum += i;//质数和继续加一个质数
            count++;//质数个数加一
        }
    }
    return 0;
}

第十一题回文质数

题目描述

因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。

写一个程序来找出范围 [a,b] (5 \le a < b \le 100,000,000)[a,b](5≤a<b≤100,000,000)( 一亿)间的所有回文质数。

输入格式

第 1 行: 二个整数 a 和 b .

输出格式

输出一个回文质数的列表,一行一个。

输入输出样例

输入 #1复制

5 500

输出 #1复制

5
7
11
101
131
151
181
191
313
353
373
383

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>
int huiwen(int x)
{
    int y,num=0;
    y = x;
    while (y!=0)
    {
        num = num * 10 + y % 10;
        y /= 10;
    }
    if (num == x)
        return 1;
    else
        return 0;
}
int primer(int x)
{
    int i;
    for (i = 2; i * i <=x; i++)
    {
        if (x % i == 0)
            return 0;
    }
    return 1;
}
int main()
{
    int a, b, i,ret1,ret2;
    scanf("%d%d", &a, &b);
    for (i = a; i <= b; i++)
    {
        if(i==9989900) //就这个测试用例过不了这样写就ac啦 后面在好好想想怎么优化
            break;
       ret1=huiwen(i);
       if (ret1 == 0)
           continue;
       ret2 = primer(i);
       if (ret2 == 0)
           continue;
           printf("%d\n", i);
    }

return 0;
}

第十二题小玉在游泳

题目描述

小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%。现在小玉想知道,如果要游到距离x米的地方,她需要游多少步呢。请你编程解决这个问题。

输入格式

输入一个数字(不一定是整数,小于100m),表示要游的目标距离。

输出格式

输出一个整数,表示小玉一共需要游多少步。

输入输出样例

输入 #1复制

4.3

输出 #1复制

3

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i;
    float sum=0.0, x,a=2.0;
    scanf("%f", &x);
    for (i = 1;; i++)
    {
        
        sum += a;
        if (sum < x)
            a *= 0.98;
        else
            break;

}
    printf("%d", i);
    return 0;
}

第十三题数字反转

题目描述

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

输入格式

一个整数 NN

输出格式

一个整数,表示反转后的新数。

输入输出样例

输入 #1复制

123

输出 #1复制

321

输入 #2复制

-380

输出 #2复制

-83

说明/提示

数据范围

-1,000,000,000≤N≤1,000,000,000−1,000,000,000≤N≤1,000,000,000。

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, i,num=0,a;
    scanf("%d", &n);
    while (n)//如果是0自动结束循环
    {
        num = num * 10 + n % 10;//相当于回文代码的应用
        n /= 10;
    }
    printf("%d", num);
    return 0;
}

第十四题月落乌啼算钱

题目背景

(本道题目木有隐藏歌曲……不用猜了……)

《爱与愁的故事第一弹·heartache》最终章。

吃完 pizza,月落乌啼知道超出自己的预算了。为了不在爱与愁大神面前献丑,只好还是硬着头皮去算钱……

题目描述

算完钱后,月落乌啼想着:“你 TMD 坑我,(以下用闽南语读)归粒靠杯靠亩诶,(以下用英读)是伊特游!”于是当爱与愁大神问多少钱时,月落乌啼说了一堆乱码。爱与愁大神说:“算了算了,我只问第n样菜价格多少?”月落乌啼写出了:

由于爱与愁大神学过编程,于是就用 11 分钟的时间求出了 F_nFn​ 的结果。月落乌啼为此大吃一惊。你能学学爱与愁大神求出 F_nFn​ 的值吗?

输入格式

一行一个自然数 nn。

输出格式

只有 11 行一个实数 F_nFn​,保留两位小数。

输入输出样例

输入 #1复制

6

输出 #1复制

8.00

说明/提示

对于所有数据:0 \leq n\leq 480≤n≤48。

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, i;
    double c = 0.0, a = 1.0, b = 1.0;
    scanf("%d", &n);
    for (i = 3;i<=n; i++)//裴波那契数列的实现 将a和b赋为1 这样再将 a b 往后移动俩位数字 分别为第二个1 和第三个2 这样就使代码的时间效率提高了一点点可以过这个题
    {
        c = a + b;//第三个数
        a = b;//将第二个数1 赋给下次计算时的a
        b = c;//将第三数赋给 下次计算时的b
    }
    printf("%.2lf", c);
    return 0;
}

第十五题求极差/最大跨度

题目描述

给出 n(n\le100)n(n≤100) 和 nn 个整数 a_i(0\le a_i \le 1000)ai​(0≤ai​≤1000),求这 nn 个整数中的极差是什么。极差的意思是一组数中的最大值减去最小值的差。

输入格式

输出格式

输入输出样例

输入 #1复制

6
1 1 4 5 1 4

输出 #1复制

4

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, arr[105] = { 0 }, max=-1, min=10000,i;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);//应该都懂就不解释啦
        if (arr[i] > max)
            max = arr[i];
        if (min > arr[i])
            min = arr[i];
    }
    printf("%d", max - min);
    return 0;
}

第十六题最长连号

题目描述

输入长度为 nn 的一个正整数序列,要求输出序列中最长连号的长度。

连号指在序列中,从小到大的连续自然数。

输入格式

第一行,一个整数 nn。

第二行,nn 个整数 a_iai​,之间用空格隔开。

输出格式

一个数,最长连号的个数。

输入输出样例

输入 #1复制

10
1 5 6 2 3 4 5 6 8 9

输出 #1复制

5

说明/提示

数据规模与约定

对于 100\%100% 的数据,保证 1 \leq n \leq 10^41≤n≤104,1 \leq a_i \leq 10^91≤ai​≤109。

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, arr[1005] = { 0 },i,num=1,j,max=-1;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    for (i = 0; i < n; i++)
    {
        
            if (arr[i + 1] - arr[i] == 1)//如果后一个数和前一个数差为1则这俩个数连续
                num++;
            else//不然为1重新开始计算
                num = 1;
           
        if (num > max)//收集最大一次的连续
            max = num;
    }
    printf("%d", max);
    return 0;
}

第十七题质因数分解

题目描述

已知正整数nn是两个不同的质数的乘积,试求出两者中较大的那个质数。

输入格式

一个正整数nn。

输出格式

一个正整数pp,即较大的那个质数。

输入输出样例

输入 #1复制

21

输出 #1复制

7

说明/提示

n\le 2\times 10^9n≤2×109

NOIP 2012 普及组 第一题

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>
int primer(int x)
{
    int i;
    for (i = 2; i * i <= x; i++)
    {
        if (x % i == 0)
            return 0;
    }
    
        return 1;
}

int main()
{
    int n, i, j, a, b,ans;
    scanf("%d", &n);
    for (i = 1; i*i<= n; i++)
    {
        if (n%i==0 &&primer(n / i))
            printf("%d",n/i );
    }
    return 0;
}

第十八题求三角

题目描述

模仿例题,打印出不同方向的正方形,然后打印三角形矩阵。中间有个空行。

输入格式

输入矩阵的规模,不超过 9。

输出格式

输出矩形和正方形

输入输出样例

输入 #1复制

4

输出 #1复制

01020304
05060708
09101112
13141516010203040506
07080910

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i, arr[1005] = { 0 },sum=1,j,cnt=0;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        for (j = 0; j <n; j++)
        {
            if (sum < 10)
            {
                printf("0");
                printf("%d", sum);
                sum++;
            }
            else
            {
                printf("%d", sum);
                sum++;
            }
        }
        printf("\n");
    }
    printf("\n");
    i = 2 * n;
    while (i > 0) { 
        i -= 2;
        for (int j = 0; j < i; j++) {
            printf(" ");
        }
        for (int j = 0; j < (2 * n - i) / 2; j++) {
            cnt++;
            if (cnt < 10) {
                printf("0");
            }
            printf("%d", cnt);
        }
        printf("\n");
    }
    return 0;
}

第十九题打分

题目描述

现在有 n(n \le 1000)n(n≤1000) 位评委给选手打分,分值从 0 到 10。需要去掉一个最高分,去掉一个最低分(如果有多个最高或者最低分,也只需要去掉一个),剩下的评分的平均数就是这位选手的得分。现在输入评委人数和他们的打分,请输出选手的最后得分,精确到 2 位小数。

输入格式

输出格式

输入输出样例

输入 #1复制

5
9 5 6 8 9

输出 #1复制

7.67

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i, arr[1005] = { 0 },max=-1,min=10000;
    double sum=0.0;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
        if (arr[i] > max)
            max = arr[i];
        if (arr[i] < min)
            min = arr[i];
    }
    for (i = 0; i < n; i++)
    {
        sum += arr[i];
    }
    sum = sum - max - min;
    printf("%.2lf", sum / (n - 2));
    return 0;
}

第二十题davor

题目描述

After successfully conquering the South Pole, Davor is preparing for new challenges. Next up is the Arctic expedition to Siberia, Greenland and Norway. He begins his travels on 31 December 2018, and needs to collect ​N kunas (Croatian currency) by then. In order to do this, he has decided to put away ​X (​X ≤ 100) kunas every Monday to his travel fund, ​X + K kunas every Tuesday, ​X + 2* ​K every Wednesday, and so on until Sunday, when he will put away ​X + 6* ​K kunas. This way, he will collect money for 52 weeks, starting with 1 January 2018 (Monday) until 30 December 2018 (Sunday).

If we know the amount of money ​N​, output the values ​X and ​K so that it is possible to collect the ​exact money amount in the given timespan. The solution will always exist, and if there are multiple, output the one with the greatest ​X ​ and smallest ​K ​.

输入格式

The first line of input contains the integer ​N​ (1456 ≤ ​N​ ≤ 145600), the number from the task.

输出格式

The first line of output must contain the value of ​X (​0 < ​X ​≤ 100 ​)​, and the second the value of K (K ​> 0 ​)​.

题意翻译

在征服南极之后,Davor 开始了一项新的挑战。下一步是在西伯利亚、格林兰、挪威的北极圈远征。他将在 20182018 年 1212 月 3131 日开始出发,在这之前需要一共筹集 nn 元钱。他打算在每个星期一筹集 xx 元,星期二筹集 x+kx+k 元,……,星期日筹集 x+6kx+6k 元,并连续筹集 5252 个星期。其中 x,kx,k 为正整数,并且满足 1 \le x \le 1001≤x≤100。

现在请你帮忙计算 x,kx,k 为多少时,能刚好筹集 nn 元。

如果有多个答案,输出 xx 尽可能大,kk 尽可能小的。注意 kk 必须大于 00。

输入输出样例

输入 #1复制

1456

输出 #1复制

1
1

输入 #2复制

6188

输出 #2复制

14
1

输入 #3复制

40404

输出 #3复制

99
4

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, i, j, sum = 0,x,k;
    scanf("%d", &n);
    for (i = 1; i <= 100; i++)
    {
        for (j = 200; j >= 1; j--)
        {
            if (7 * i + 21 * j == n / 52)
            {
                x = i;
                k = j;
            }
        }
    }
    printf("%d\n", x);
    printf("%d\n", k);
    return 0;
}

第二十一题 津津的储蓄计划

题目描述

津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。

为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20\%20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100100元或恰好100100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

例如1111月初津津手中还有8383元,妈妈给了津津300300元。津津预计1111月的花销是180180元,那么她就会在妈妈那里存200200元,自己留下183183元。到了1111月月末,津津手中会剩下33元钱。

津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。

现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。

输入格式

1212行数据,每行包含一个小于350350的非负整数,分别表示11月到1212月津津的预算。

输出格式

一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X−X,XX表示出现这种情况的第一个月;否则输出到20042004年年末津津手中会有多少钱。

注意,洛谷不需要进行文件输入输出,而是标准输入输出。

输入输出样例

输入 #1复制

290
230
280
200
300
170
340
50
90
80
200
60

输出 #1复制

-7

输入 #2复制

290
230
280
200
300
170
330
50
90
80
200
60

输出 #2复制

1580

代码

#define  _CRT_SECURE_NO_WARNINGS 1;

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,sum=0, num=0,buget,a=0;
    for (i = 1; i <= 12; i++)
    {
        sum += 300;
        scanf("%d", &buget);
        sum -= buget;
        if (sum < 0)
        {
            printf("-%d", i);
            return 0;
        }
        num = sum /100;
        a += num;
        sum -= num * 100;
        num = 0;
    }
    printf("%d", a*120 + sum);
    return 0;
}

洛谷循环结构(Freshman锻炼牛犇勿喷)相关推荐

  1. 洛谷 题单2分支结构(freshman锻炼牛犇勿喷)

    第一题数的性质 题目描述 一些数字可能拥有以下的性质: 性质 1:是偶数: 性质 2:大于 4 且不大于 12. 小A 喜欢这两个性质同时成立的数字:Uim 喜欢这至少符合其中一种性质的数字:八尾勇喜 ...

  2. 【OJ】洛谷循环结构题单题解锦集

    题单简介 题目解析 P5718[深基4.例2]找最小值 P5719[深基4.例3]分类平均 P5720[深基4.例4]一尺之棰 P5721[深基4.例6]数字直角三角形 P1009 阶乘之和 P198 ...

  3. Freshman的冒泡排序代码牛犇勿喷

    //冒泡排序 1for循环实现 #define _CRT_SECURE_NO_WARNINGS 1 //冒泡排序 #include<stdio.h> void bubblesort(int ...

  4. Freshman的选择排序牛犇勿喷

    //选择排序 #define _CRT_SECURE_NO_WARNINGS 1 //选择排序 #include<stdio.h> void swap(int* x, int* y)//交 ...

  5. 洛谷 2341受欢迎的牛

    洛谷  2341受欢迎的牛 废话真多啊,就是tarjan一遍,缩强连通分量点,建好新的图之后查看是否有出度为0的点. 如果有且仅有一个,那么这一个一定是可以被所有牛喜欢的啦,用cnt数组去记录每一个强 ...

  6. 洛谷·[HAOI2006]受欢迎的牛

    初见安~这里是传送门:洛谷P2341 题目描述 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之间的"喜欢" ...

  7. 【OJ】洛谷分支结构题单题解锦集

    题单简介 题目解析 P5710[深基3.例2]数的性质 P5711[深基3.例3]闰年判断 P5712[深基3.例4]Apples P5713[深基3.例5]洛谷团队系统 P5714[深基3.例7]肥 ...

  8. 洛谷P2341 受欢迎的牛

    题目链接:https://www.luogu.org/problem/show?pid=2341 解题思路: 1.首先可以想到在一个联通块内的牛都可以成为明星奶牛(互相喜欢).这样我们就可以把它们缩成 ...

  9. P1068 分数线划定 洛谷 (C++)(结构体排序)

    简单的结构体排序,代码如下 #include <iostream> #include <cstdio> #include <algorithm> #include ...

最新文章

  1. C++ Primer 5th笔记(chap 16 模板和泛型编程)模板实参推断
  2. Spring Boot Admin 集成诊断利器 Arthas 实践
  3. 超级大傻瓜代理器_年检尾气通不过咋办?傻瓜才更换三元催化器,聪明人一招解决!...
  4. Atitit pagging翻页与按需加载图像 vue lazyload懒加载目录1.1. 翻最好就是不翻页直接加载一千数据咯 11.2. 使用VueLazyload 11.3. 五.更加方
  5. 内联函数的常识性问题
  6. 线代 [3]|从增广矩阵漫谈矩阵转置对向量在四个向量子空间内的“飞舞”(第三篇)
  7. php开发oa系统的插件下载不了,OA系统安装不了office控件的解决方法
  8. wsimport生成Java客户端
  9. 去除小圆点_word中的小圆圈怎么删掉
  10. 用java实践了下Bingo游戏的玩法
  11. Android app开发:代码切换移动数据走SIM1/SIM2
  12. Mysql 利用存储过程 实现单据号码(单号)生成器(万能版)
  13. 【云贝学院】大师操刀倾心打造:数据之颠Oracle 12c OCM认证课程
  14. java获取当前年份(java获取当前年份后两位)
  15. Matlab笔记(台大郭彦甫14课)
  16. 2022年1024程序员节随笔
  17. SQL Server自动产生一年多少周及月
  18. java session时间_java session时长问题,java设置session超时时间实例
  19. 2021年11月中国商品出口总额排行榜:中国贸易顺差717.1亿美元,7个出口最终目的国(地)出口额超过百亿美元(附月榜TOP100详单)
  20. teamcenter 异步服务_Teamcenter 11版本最新特征

热门文章

  1. 解决MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk
  2. 西门子工业软件大中华区CTO方志刚:西门子数字化工厂助力中国制造业转型升级
  3. 光照贴图UV Lightmapping UVs
  4. 【填坑】【多图】micro awtrix灯板
  5. 老Mac电脑安装macOS Ventura实战
  6. [转]Python 资源大全中文版
  7. Chapter 2.猛男的邀请函——《地与光》
  8. 苹果公司支付1.13亿美元和解“降速门”指控;三大运营商或于年底联合宣布5G消息商用;DBeaver 7.2.5 发布
  9. 深度对话:异构系统集成平台如何让企业降本增效
  10. 外刊阅读——英国女王新冠病毒检测呈阳性