1962 - 数值计算
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int tmp=n;
int cnt=0;
while(tmp!=0)
{
cnt++;
tmp=tmp/10;
}
cout<<cnt<<endl;
tmp=n;
int sum=0;
while(tmp!=0)
{
sum=sum*10+tmp%10;
tmp=tmp/10;
}
int i=1;
while(i<=cnt)
{
cout<<sum%10<<" ";
sum=sum/10;
i++;
}
cout<<" "<<endl;
while(n!=0)
{
cout<<n%10;
n=n/10;
}
return 0;
}
题目描述
给出一个不多于5位的非负整数,要求
1、求出它是几位数
2、分别输出每一位数字
3、按逆序输出各位数字,例如原数为321,应输出123
输入
一个不大于5位的正整数
输出
三行
第一行 位数
第二行 用空格分开的每个数字
第三行 按逆序输出这个数
1121 - “倒”数
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n!=0)
{
cout<<n%10;
n=n/10;
}
return 0;
}
题目描述
输入一个正整数N ( 0 < N < 2147483647 ),将这个数倒着合成一个新数后输出。
比如:543,倒过来是345 (请注意:34500,倒过来是543,不是00543)!
输入
一行,一个正整数N。
输出
一行,一个正整数。
1469 - 数的统计
#include<iostream>
using namespace std;
int main()
{
int n,x,a,q,ns1,cnt;
cin>>n>>x;
cnt = 0;
a = 1;
while(a<=n)
{
q = a;
while(q!=0)
{
ns1 = q%10;
if(ns1==1)
{
cnt++;
}
q = q/10;
}
a++;
}
cout<<cnt;
return 0;
}
题目描述
试计算在区间1到n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如,在 1到11中,即在
1,2,3,4,5,6,7,8,9,10,11中,数字1出现了4次。再比如:1到11中,数字0只出现了1次。
输入
2个整数n和x之间用一个空格隔开。(n是一个int范围内的整数)
输出
1个整数,表示x出现的次数。
1511 - 数字之和为13的整数
#include<iostream>
using namespace std;
int main()
{
int n,sum,nn,a,cnt;
cin>>n;
sum = 0;
cnt = 0;
a = 1;
while(a<=n)
{
while(n!=0)
{
nn = n%10;
n = n/10;
sum = sum+n;
}
if(sum = 15)
{
cnt++;
}
a++;
}
cout<<cnt<<endl;
return 0;
}
题目描述
求出 1~n1 n 范围内的整数,使其数字之和为 1313 ,请问这样的数有多少个?
例如:数 8585 ,其数字之和为 8+5=138+5=13 ;数 373373 ,其数字之和为 3+7+3=133+7+3=13 。
输入
一个整数 nn (n \le 10000000n≤10000000);
输出
输出一个整数,代表符合条件数的总个数。
1149 - 回文数个数
#include<iostream>
using namespace std;
int main()
{
int n,sum,a,q,cnt,z;
z = 1;
cin>>n;
cnt = 0;
while(z<=n)
{
q = z;
sum = 0;
while(z!=0)
{
a = z%10;
sum = sum*10+a;
z = z/10;
}
if(q==sum)
{
cnt++;
}
z = q;
z++;
}
cout<<cnt;
return 0;
}
题目描述
一个正整数,正读和反读都相同的数为回文数。
例如 2222 , 131131 , 24422442 , 3707337073 , 66 ,\dots… 所有 11 位数都是回文数。给出一
个正整数 nn ( 1 \le n \le 100001≤n≤10000 ),求出 1,2, \dots ,n1,2,…,n 之中(包括 11 和 nn )的回
文数的个数。
输入
任意给定一个正整数 nn ( 0 \lt n \le 100000<n≤10000 )
输出
一个正整数,表示[ 1,n1,n ]之间的回文数的个数。
1846 - 阿尔法乘积
#include<iostream>
using namespace std;
int main()
{
int n,a,sum;
cin>>n;
while(n>=9)
{
sum = 1;
while(n!=0)
{
a = n%10;
if(a!=0)
{
sum = sum*a;
}
n = n/10;
}
n = sum;
}
cout<<n;
return 0;
}
题目描述
计算一个整数的阿尔法乘积。对于一个整数 x* 来说,它的阿尔法乘积是这样来计算的:如果 x是一个个
位数,那么它的阿尔法乘积就是它本身;否则的话,x* 的阿尔法乘积就等于它的各位非 0 的数字相乘所
得到的那个整数的阿尔法乘积。
例如:40182243124018224312 的阿尔法乘积等于 8 ,它是按照以下的步骤来计算的:
4×1×8×2×2×4×3×1×2 → 3072 →3×7×2 → 42 → 4×2 → 8 ;
编写一个程序,输入一个正整数(该整数的值在 int 范围内),输出它的阿尔法乘积。
输入
输入只有一行,即一个正整数。
输出
输出相应的阿尔法乘积。