算法刷题
喵喵喵_
java后端
展开
-
HDU-2000
题目本身不难,但是对于初学者,难的是数据的读入。方法一:使用getchar()去除每一行的空格符#include<stdio.h>int main(){char a,b,c,t;while(scanf("%c%c%c",&a,&b,&c)!=EOF){getchar(); ...原创 2018-08-08 16:46:31 · 1785 阅读 · 0 评论 -
输出1000-10000以内的完全平方数
描述: 输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字相等)#include <stdio.h>int main(){ for(int i=34;i<100;i++) { int j=i*i; int a1=j/1000;//分离出千位 int a2=j/100%10;//分离...原创 2018-05-09 16:30:52 · 4887 阅读 · 0 评论 -
完美立方等式
描述 a^3 = b^3+ c^3 + d^3为完美立方等式。例如12^3=6^3+ 8^3 + 10^3 。编写一个程序,对任给的正整数N (N≤100), 寻找所有的四元组(a, b, c, d),使得a^3 = b^3+ c^3 + d^3,1<a,b,c,d<=N.输入 正整数N (N≤100)输出 每行输出一个完美立方,按照a的值,从小到大依次输出。当两...原创 2018-05-09 16:21:42 · 3713 阅读 · 4 评论 -
把1,2,3,4,5,6,7,8,9分成三组构成排列且之比为1:2:3
题目描述:把1,2,3,4,5,6,7,8,9共九个数分成三组构成排列a1a2a3,a4a5a6,a7a8a9,而且每个数字使用有且仅有一次,构成的排列之比为1:2:3,求输出所有的排列组合。主要还是得通过蛮力法来做,但我们可以通过计算来减小循环的次数。1-9构成的最小的数字排列应该是123(百位取1的时候最小,当1被用过之后,十位取2最小,当1,2都被用过之后,个位取三最小),同理1...原创 2018-05-07 21:42:43 · 8674 阅读 · 0 评论 -
蛇形填数
在n*n的方阵里填入1,2,..,n*n,要求填成蛇形。例如当n=4时方针为10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4n<=8。#include <iostream>#include <cstdio>#include <string.h>#define ...原创 2018-09-01 10:41:07 · 247 阅读 · 0 评论 -
判断一个正整数是否为回文数
首先什么是回文数呢?所谓回文数就是从左往右读和从右往左读是一样的,比如1221,222等等。 为了大家更好了解,在看回文数之前我们先来看一个这样的问题: 从键盘输入任意一个正整数,编程计算这个正整数每一位数字相加之和。例如输入1234,先分离出1,2,3,4,然后再计算1+2+3+4=10,并输出10。我们首先想的肯定是如何把这个整数的每个数字都分离出来,那么...原创 2019-01-23 11:44:32 · 5127 阅读 · 1 评论 -
算法竞赛入门经典(第二版) 刘汝佳编著 第二单元习题
习题2-1 水仙花数 输出100-999中的所有的水仙花数,若三位数ABC满足ABC=A^3+B^3+C^3,则称其为水仙花数。例如153=1^3+5^3+3^3,所以153是水仙花数。 此题比较简单,通过蛮力法,然后分离每个数的个、十、百位,然后进行判断即可。#include <iostream>#include <cstdio>using ...原创 2018-08-27 16:38:52 · 887 阅读 · 0 评论