电商实训网站建设报告/百度推广技巧方法
目录
1. 素数求和问题 🌟
2. 秒数转换 🌟
3. 硬币重量最轻问题 🌟🌟🌟
🌟 每日一练刷题专栏 🌟
Golang每日一练 专栏
Python每日一练 专栏
C/C++每日一练 专栏
Java每日一练 专栏
1. 素数求和问题
给定n(n≤100)个正整数,所有正整数均≤1000000;求其中所有素数的和。
例如:
给定序列: 2 3 4 5 6,素数和为:10
给定序列: 3 4 5 6 7, 素数和为:15
给定序列: 12 19 23 35 68 71, 素数和为: 113
输入格式:
输入为两行。第一行是一个正整数n,表示有多少个数据。第二行是n个正整数组成的序列。
输出格式:
输出一个正整数,是上述序列中所有素数之和。
出处:
https://edu.csdn.net/practice/23497452
代码:
#include <stdio.h>int isprime(int n);int main()
{int i,n,m,s=0;scanf("%d", &n);for(i=0; i<n; i++) {scanf("%d", &m);if(isprime(m)){s+=m;}}printf("%d", s);return 0;
}int isprime(int n)
{int i;if(n<=1) return 0;for(i=2;i*i<=n;i++)if(n%i==0) return 0;return 1;
}
输入输出:
5
2 3 4 5 6
10
2. 秒数转换
输入一个秒数,转换成HH:MM:SS的格式输出。
输入样例
365
输出样例
00:06:05
出处:
https://edu.csdn.net/practice/23497453
代码:
#include <cstdio>void print(int x)
{if (x == 0)printf("00");else if (x < 10)printf("0%d", x);elseprintf("%d", x);return;
}int main()
{int n;scanf("%d", &n);int s, f, m;s = n / 3600;f = n / 60 % 60;m = n % 60;print(s);printf(":");print(f);printf(":");print(m);return 0;
}
输入输出:
365
00:06:05
3. 硬币重量最轻问题
设有n种不同面值的硬币,第i种硬币的币值是Vi(其中V1=1),重量是Wi,i=1,2,...n且现在购买某种总币值为y的商品,需要用这些硬币付款,如果每种钱币使用的个数不限,那么如何选择付款的方法使得付出钱币的总重量最轻?使用动态规划设计策略设计一个求解该问题的算法。假设问题的输入实例是:
n=4
V1=1, V2=4, V3=6, V4=8
W1=1, W2=2,W3=4,W4=6
Y=12
要求输出优化函数表和标记函数表、以及硬币支付方式。
出处:
https://edu.csdn.net/practice/23497454
代码:
#include <stdio.h>
void strcpy(int *a, int *b, int Y)
{for (int i = 0; i <= Y; i++)*(a + i) = *(b + i);
}
void solve()
{int n;scanf("%d", &n);int type[n], weight[n], Y, i, j, k;for (i = 0; i < n; i++)scanf("%d", &type[i]);for (i = 0; i < n; i++)scanf("%d", &weight[i]);scanf("%d", &Y);int Min[Y + 1], Min_Path[Y + 1], path[n][Y + 1];for (i = 0; i <= Y; i++)Min[i] = 9999;Min[0] = 0;printf("\n");for (j = 0; j < n; j++){for (i = type[j]; i <= Y; i++)if (Min[i] > Min[i - type[j]] + weight[j]){Min_Path[i] = type[j];Min[i] = Min[i - type[j]] + weight[j];}for (k = 1; k <= Y; k++)printf("%-3d", Min[k]);printf("\n");strcpy(path[j], Min_Path, Y);}printf("\n");for (i = 0; i < n; i++){for (j = 1; j <= Y; j++)printf("%-3d", path[i][j]);printf("\n");}int y = Y;printf("\n支付方式:");while (y){printf("%d ", Min_Path[y]);y -= Min_Path[y];}printf("\n总重量:%d\n", Min[Y]);
}int main()
{solve();return 1;
}
输入输出:
4
1 4 6 8
1 2 4 6
12
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 2 3 4 5 4 5 6 7 6
1 2 3 2 3 4 5 4 5 6 7 6
1 2 3 2 3 4 5 4 5 6 7 6
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 4 4 4 4 4 4 4 4 4
1 1 1 4 4 4 4 4 4 4 4 4
1 1 1 4 4 4 4 4 4 4 4 4
支付方式:4 4 4
总重量:6
🌟 每日一练刷题专栏 🌟
✨ 持续,努力奋斗做强刷题搬运工!
👍 点赞,你的认可是我坚持的动力!
🌟 收藏,你的青睐是我努力的方向!
✎ 评论,你的意见是我进步的财富!
![]() | Golang每日一练 专栏 |
![]() | Python每日一练 专栏 |
![]() | C/C++每日一练 专栏 |
![]() | Java每日一练 专栏 |