基础-循环输出(c++)

目录

1881 循环输出 1~100 之间的每个数
1882 循环输出100~1 之间的每个数
1696 请输出1~n 之间所有的整数
1697 请输出n~1 之间所有的整数
1698 请输出带有特殊尾数的数
1699 输出是2 的倍数,但非 3 的倍数的数
1700 请输出所有的2 位数中,含有数字 2 的整数
1701 请输出所有的3 位对称数
1711 输出满足条件的整数1
1712 输出满足条件的整数2
1713 输出满足条件的整数3
1714 输出满足条件的整数4
1715 输出满足条件的整数5
1721 输出个位为5 或者个位为 8
1722 输出两位的巧数
1017 求零件个数
1021 求数II
1058 求出100 999 范围内的所有水仙花数。
1059 求数
1264 4位反序数
1266 求最大数
1392 回文偶数?
1447 统计4 位的回文数
1466 等差数
1737 奇怪的数?
1746 能被2 3 5 7 中至少 2 个数整数的数
1748 山形数
1861 整除问题
1863 特殊的数字四十
1085 寻找雷劈数
1090 同因查
1392 - 回文偶数?
题目描述
小明发现有一类数非常有趣,他们正过来读和反过来读是一样的,比如: 121 202 383 等,小明给这
类数起了一个名字,叫做回文数。
请你写程序帮助小明找出所有 3 位的既是回文数,又是偶数的数,比如: 202 就是满足条件的数,而 121
虽然是回文数但不是偶数。
输入
输出
所有满足条件的 3 位的回文偶数,每行 1 个。
#include <iostream>
using namespace std;
int main()
{
	for(int n = 100;n<=999;n++)
	{
		int a1,a2,a3,q;
		a1 = n/1%10;
		a2 = n/10%10;
		a3 = n/100%10;
		q = a1*100+a2*10+a3;
		if(q==n&&n%2==0)
		{
			cout<<n<<endl;
		}
	}
	return 0;
}

1266 - 求最大数
题目描述
555555 的约数中最大的三位数是多少?
输入
输出
约数中最大的三位数
#include <iostream>
using namespace std;
int main()
{
	int n,a;
	a = 555555;
	n = 999;
	while(a%n!=0)
	{
		n--;
	}
	cout<<n;
	return 0;
}

1264 - 4 位反序数
题目描述
N 是一个四位数,它的 9 倍恰好是其反序数,求 N 。反序数就是将整数的数字倒过来形成的整数。例
如: 1234 的反序数是 4321
输入
输出
输出 N 这个四位数
#include <iostream>
using namespace std;
int main()
{
	int a,n;
	n = 1000;
	while(n<=9999)
	{
		int a1,a2,a3,a4;
		a1 = n/1%10;
		a2 = n/10%10;
		a3 = n/100%10;
		a4 = n/1000%10;
		a = a1*1000+a2*100+a3*10+a4;
		if(n*9==a)
		{
			cout<<n<<endl;
		}
		n++;
	}
	return 0;
}

1059 - 求数
题目描述
输出 1—999 中有因数 3 ,且至少有一位数字是 5 的数
输入
输出
若干个数 每行一个
#include <iostream>
using namespace std;
int main()
{
	int n,a1,a2,a3;
	n = 1;
	while(n<=999)
	{
		a1 = n/1%10;
		a2 = n/10%10;
		a3 = n/100%10;
		if(n%3==0&&(a1==5||a2==5||a3==5))
		{
			cout<<n<<endl;
		}
		n++;
	}
	return 0;
}

1058 - 求出 100 999 范围内的所有水仙花数。
题目描述
所谓水仙花数,就是指各位数字立方之和等于该数的数; a^3 a 3 称为 a 的立方,即等于 a × a × a 的值。
例如:因为 153=1^3+5^3+3^3153=13+53+33 ,所以 153  是一个水仙花数。
输入
输出
若干行,每行一个整数,表示该范围内的所有水仙花数。按从小到大的顺序输出。
#include <iostream>
using namespace std;
int main()
{
	int n,a1,a2,a3;
	n = 100;
	while(n<=999)
	{
		a1 = n/1%10;
		a2 = n/10%10;
		a3 = n/100%10;
		if(a1*a1*a1+a2*a2*a2+a3*a3*a3==n)
		{
			cout<<n<<endl;
		}
		n++;
	}
	return 0;
}

1021 - 求数 II
题目描述
1—500 中,找出能同时满足用 3 除余 2 ,用 5 除余 3 ,用 7 除余 2 的所有整数
输入
输出
若干个数
每行一个
#include <iostream>
using namespace std;
int main()
{
	int n,a1,a2,a3;
	n = 1;
	while(n<=500)
	{
		if(n%3==2&&n%5==3&&n%7==2)
	    {
		    cout<<n<<endl;
	    }
	    n++;
	}
	return 0;
}

1017 - 求零件个数
题目描述
有一堆 100 多个的零件,若三个三个数,剩二个;若五个五个数,剩三个;若七个七个数,剩五个。请
你编一个程序计算出这堆零件至少是多少个?
输入
输出
一行,一个整数。
#include <iostream>
using namespace std;
int main()
{
	int n,a1,a2,a3;
	n = 100;
	while(true)
	{
		if(n%3==2&&n%5==3&&n%7==5)
		{
			break;
		}
	    n++;
	}
	cout<<n;
	return 0;
}

1722 - 输出两位的巧数
题目描述
巧数指的是这样一种特殊的数,该数的各个位数字之和加上各个位数字之积等于本身的自然数。比如整
19 ,就是一个巧数,因为 (1+9)+(1*9) = 10 + 9 =19
请编程输出所有 2 位的巧数。
输入
输出
由小到大输出所有的 2 位巧数,每行 1 个。
#include <iostream>
using namespace std;
int main()
{
	for(int n = 10;n<=99;n++)
	{
		int a1 = n/1%10;
		int a2 = n/10%10;
		if((a1+a2)+a1*a2==n)
		{
			cout<<n<<endl;
		}
	}
	return 0;
}

 
1721 - 输出个位为 5 或者个位为 8
题目描述
请从小到大输出 1~n 中所有个位为 5 或者个位为 8 的所有的整数,每行 1 个。
比如,假设 n=20 ,那么满足条件的数输出如下:
5
8
15
18
输入
一个整数 n
输出
1~n 中所有满足条件的整数。  
样例 样例输入 1 20 样例输出
1 5 8 15 18
样例输入 2 30 样例输出 2
5 8 15 18 25 28
样例输入 3 25 样例输出 3
5 8 15 18 25
输入复制
输出复制
说明
#include <iostream>
using namespace std;
int main()
{
	int n,a,q;
	cin>>n;
	q = 1;
	while(q<=n)
	{
		a = q/1%10;
		if(a==5||a==8)
		{
			cout<<q<<endl;
		}
		q++;
	}
	return 0;
}

1715 - 输出满足条件的整数 5
题目描述
有这样一个四位数 , 其千位和百位之和为偶数,十位和个位之和为奇数,且前两位之和大于后两位之和,
且含有因数 8 ,请输出满足上述条件的整数。
输入
输出
输出满足条件的整数,每行一个。
#include <iostream>
using namespace std;
int main()
{
	int n,a1,a2,a3,a4,o,j;
	n = 1000;
	while(n<=9999)
	{
		a1 = n/1%10;
		a2 = n/10%10;
		a3 = n/100%10;
		a4 = n/1000%10;
		o = a4+a3;
		j = a2+a1;
		if(o%2==0&&j%2==1&&o>j&&n%8==0)
		{
			cout<<n<<endl;
		}
		n++;
	}
	return 0;
}

1714 - 输出满足条件的整数 4
题目描述
输出 1-n 中含有数字 3 或者含有数字 5 ,且因数有 2 (即能被 2 整除)的所有整数。( n < 1000
输入
从键盘输入一个整数 n
输出
输出满足条件的整数,每行一个
#include <iostream>
using namespace std;
int main()
{
	int a,n,a1,a2,a3;
	cin>>n;
	a = 1;
	while(a<=n)
	{
		a1 = a/1%10;
		a2 = a/10%10;
		a3 = a/100%10;
		if(a%2==0&&(a1==3||a1==5||a2==3||a2==5||a3==3||a3==5))
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1713 - 输出满足条件的整数 3
题目描述
有一个数列,该数列的前 4 个数是: 1 4 7 10
请从键盘读入一个正整数 n ,请通过观察前 4 项的规律,输出 1~n 之间所有满足该规律的数字。
输入
在一行输入一个整数 n
输出
输出满足题目要求的整数,每行 1 个。
样例
输入复制
10
输出复制
1
4
7
10
#include <iostream>
using namespace std;
int main()
{
	int n,a;
	cin>>n;
	a = 1;
	while(a<=n)
	{
		cout<<a<<endl;
		a = a+3;
	}
	return 0;
}

1712 - 输出满足条件的整数 2
题目描述
有这样的三位数,其百位、十位、个位的数字之和为偶数,且百位大于十位,十位大于个位,请输出满
所有满足条件的整数。
输入
输出
输出满足条件的整数,每行一个。
#include <iostream>
using namespace std;
int main()
{
	int a,a1,a2,a3;
	a = 100;
	while(a<=999)
	{
		a1 = a/1%10;
		a2 = a/10%10;
		a3 = a/100%10;
		if((a1+a2+a3)%2==0&&a3>a2&&a2>a1)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1711 - 输出满足条件的整数 1
题目描述
有这样的两位数,其十位上的数字比个位上的数字要大,且十位和个位上的数字之和为偶数,请找出所 有的满足条件的2 位数。
输入
输出
输出满足条件的 2 位数,每行一个
样例
输入复制
输出复制
20
31
40
42
51
53
60
62
64
71
73
75
80
82
84
86
91
93
95
97
#include <iostream>
using namespace std;
int main()
{
	int a,a1,a2;
	a = 10;
	while(a<=99)
	{
		a1 = a/1%10;
		a2 = a/10%10;
		if((a1+a2)%2==0&&a2>a1)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1701 - 请输出所有的 3 位对称数
题目描述
请输出所有的 3 位对称数,对称数指的是一个整数 n 正过来和倒过来是一样的,比如: 101 121
282……
请从小到大输出符合条件的 3 位对称数,每行 1 个。
输入
输出
从小到大按题意输出符合条件的数,每行 1 个。
#include <iostream>
using namespace std;
int main()
{
	int a,a1,a2,a3,n;
	a = 100;
	while(a<=999)
	{
		a1 = a/1%10;
		a2 = a/10%10;
		a3 = a/100%10;
		n = a1*100+a2*10+a3;
		if(a==n)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1700 - 请输出所有的 2 位数中,含有数字 2 的整数
题目描述
请输出所有的 2 位数中,含有数字 2 的整数有哪些,每行 1 个,按照由小到大输出。
比如: 12 21 22 23…… 都是含有数字 2 的整数。
输入
输出
按题意要求由小到大输出符合条件的整数,每行 1 个。
#include <iostream>
using namespace std;
int main()
{
	int a,a1,a2;
	while(a<=99)
	{
		a1 = a/1%10;
		a2 = a/10%10;
		if(a1==2||a2==2)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1699 - 输出是 2 的倍数,但非 3 的倍数的数
题目描述
请从键盘读入一个整数 n ,输出 1~n 中所有是 2 的倍数,但非 3 的倍数的数,每行 1 个。
比如,读入一个整数 10 ,输出结果如下:
2
4
8
10
输入
一个整数 n
输出
按要求输出 1~n 中满足条件的整数,每行 1 个。
#include <iostream>
using namespace std;
int main()
{
	int a,n;
	a = 1;
	cin>>n;
	while(a<=n)
	{
		if(a%2==0&&a%3!=0)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1698 - 请输出带有特殊尾数的数
题目描述
请输出 1~n 中所有个位为 1 3 5 7 中任意一个数的整数,每行 1 个。 (n < 1000)
比如,假设从键盘读入 20 ,输出结果如下:
1
3
5
7
11
13
15
17
输入
一个整数 n
输出
输出满足条件的数,每行 1 个。
#include <iostream>
using namespace std;
int main()
{
	int a,n,a1,a2,a3;
	cin>>n;
	a = 1;
	while(a<=n)
	{
		a1 = a/1%10;
		a2 = a/10%10;
		a3 = a/100%10;
		if(a1==1||a1==3||a1==5||a1==7)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1697 - 请输出 n~1 之间所有的整数
题目描述
从键盘读入一个整数 n ,请输出 n~1 之间所有的整数,每行输出 1 个。
比如,假设读入 n=5 ,输出结果如下:
5
4
3
2
1
输入
一个整数 n
输出
输出 n~1 之间所有的数,每行 1 个。
#include <iostream>
using namespace std;
int main()
{
	int a,n;
	cin>>n;
	a = n;
	while(a>=1)
	{
		cout<<a<<endl;
		a--;
	}
	return 0;
}

1696 - 请输出 1~n 之间所有的整数
题目描述
从键盘读入一个整数 n ,请循环输出 1~n 之间所有的整数,每行输出 1 个。
比如,假设 n=5 ,那么输出结果如下:
1
2
3
4
5
输入
一个整数 n
输出
输出 1~n 之间所有的整数。
#include <iostream>
using namespace std;
int main()
{
	int a,n;
	cin>>n;
	a = 1;
	while(a<=n)
	{
		cout<<a<<endl;
		a++;
	}
	return 0;
}

1882 - 循环输出 100~1 之间的每个数
题目描述
请循环输出 100~1 之间的每个整数,输出时每行输出 1 个数,比如,输出结果的前 10 个数是这样的:
100
99
98
97
96
95
94
93
92
91
...
输入
输出
按要求输出 100~1 之间的每个数。
#include <iostream>
using namespace std;
int main()
{
	int a;
	a = 100;
	while(a>=1)
	{
		cout<<a<<endl;
		a--;
	}
	return 0;
}

1881 - 循环输出 1~100 之间的每个数
题目描述
请循环输出 1~100 之间的每个整数,输出时每行输出 1 个数,比如,输出结果的前 10 个数是这样的:
1
2
3
4
5
6
7
8
9
10
...
输入
输出
按要求输出 1~100 之间的每个数。
#include <iostream>
using namespace std;
int main()
{
	int a;
	a = 1;
	while(a<=100)
	{
		cout<<a<<endl;
		a++;
	}
	return 0;
}

1863 - 特殊的数字四十
题目描述
1234 是一个非常特殊的四位数,因为它的各位数之和为 10 ,编程求所有这样的四位整数。
输入
输出
按从小到大的顺序输出满足条件的四位数。每个数字占用一行。
#include <iostream>
using namespace std;
int main()
{
	int a,a1,a2,a3,a4;
	a = 1000;
	while(a<=9999)
	{
		a1 = a/1%10;
		a2 = a/10%10;
		a3 = a/100%10;
		a4 = a/1000%10;
		if(a1+a2+a3+a4==10)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1861 - 整除问题
题目描述
编写一个程序,输入三个正整数 min max factor ,然后对于 min max 之间的每一个整数(包括 min
max ),如果它能被 factor 整除,就把它打印出来。
输入
输入只有一行,包括三个整数 min max factor
输出
输出只有一行,包括若干个整数,数与数之间用空格隔开。
#include <iostream>
using namespace std;
int main()
{
	int mi,ma,f,a;
	cin>>mi>>ma>>f;
	if(mi>ma)
	{
		int asdfghjklp = mi;
		mi = ma;
		ma = asdfghjklp;
	}
	a = mi;
	while(a<=ma)
	{
		if(f%a==0)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1748 - 山形数
题目描述
山形数指的是一个三位数,中间的十位比两边的个位和百位都大,类似山的形状。
请编程输出所有的山形数。
输入
输出
从小到大输出所有的山形数,每行 1 个。
来源
简单循环
#include <iostream>
using namespace std;
int main()
{
	int a,a1,a2,a3;
	a = 100;
	while(a<=999) 
	{
		a1=a/1%10;
		a2=a/10%10;
		a3=a/100%10;
		if(a2>a1&&a2>a3)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1746 - 能被 2 3 5 7 中至少 2 个数整数的数
题目描述
请输出 1~n 中至少能够被 2 3 5 7 中两个及两个以上的数整除的数?
比如: 30 ,就是能够被 2 3 5 7 中的 3 个数整除,就是符合条件的数。
输入
一个整数 n n<=200
输出
输出 1~n 中满足条件的数,每行 1 个。
#include <iostream>
using namespace std;
int main()
{
	int n,a;
	cin>>n;
	a = 1;
	while(a<=n)
	{
		if((a%2==0&&2%3==0)||(a%2==0&&a%5==0)||(a%2==0&&a%7==0)||(a%3==0&&a%5==0)||(a%3==0&&a%7==0)||(a%5==0&&a%7==0)||(a%2==0&&a%3==0&&a%5==0)||(a%3==0&&a%2==0&&a%7==0)||(a%3==0&&a%5==0&&a%7==0)||(a%2==0&&a%5==0&&a%7==0)||(a%2==0&&a%3==0&&a%5==0&&a%7==0))
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1737 - 奇怪的数?
题目描述
小明最近刚刚学习数学,回家后老师布置了一道题目:要求小明找出满足条件的奇怪整数:
A 、该数为四位数
B 、该数的千位和十位对调,百位和个位对调后,仍然等于本身
C 、该数为奇数。
你能帮助小明找到满足以上条件的奇怪整数吗?
输入
输入一个整数 n(n >=1000)
输出
n 以内的奇怪整数,每行一个
#include <iostream>
using namespace std;
int main()
{
	int a,n,a1,a2,a3,a4,q;
	cin>>n;
	a = 1000;
	while(a<=n)
	{
		a1 = a/1%10;
		a2 = a/10%10;
		a3 = a/100%10;
		a4 = a/1000%10;
		q = a2*1000+a1*100+a4*10+a3;
		if(a==q&&a%2==1)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1447 - 统计 4 位的回文数
题目描述
回文数指的是正过来读和反过来读都是一样的数,比如 1661 2772 都是回文数,请你编程找出所有的
4 位的回文数。
输入
输出
由小到大输出所有的 4 位回文数,每行 1 个。
#include <iostream>
using namespace std;
int main()
{
	int a,a1,a2,a3,a4,q;
	a = 1000;
	while(a<=9999)
	{
		a1 = a/1%10;
		a2 = a/10%10;
		a3 = a/100%10;
		a4 = a/1000%10;
		q = a1*1000+a2*100+a3*10+a4;
		if(a==q)
		{
			cout<<a<<endl;
		}
		a++;
	}
	return 0;
}

1090 - 同因查找
题目描述
求出 10 1000 之内能同时被 2 3 7 整除的数,并输出。
每行一个。
输入
输出
按要求输出满足条件的数,每行 1
#include <iostream>
using namespace std;
int main()
{
	for(int a = 10;a<=1000;a++)
	{
		if(a%2==0&&a%3==0&&a%7==0)
		{
			cout<<a<<endl;
		}
	}
	return 0;
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值