数1的个数:
总时间限制:
1000ms
内存限制:
65536kB
描述
给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。
例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。
输入
正整数n。1 <= n <= 10000。
输出
一个正整数,即“1”的个数。
样例输入
12
样例输出
5
上代码:
#include<iostream>
using namespace std;
int main()
{
int n,i;
cin>>n;
int cnt=0;
for(i=1;i<=n;i++)
{
int temp=i;
while(temp)
{
int a=temp%10;
if(a==1) cnt++;
temp=temp/10;
}
}
cout<<cnt;
return 0;
}
2.与7无关的数
总时间限制:
1000ms
内存限制:
65536kB
描述
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.
输入
输入为一行,正整数n(n < 100)
输出
输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
样例输入
21
样例输出
2336
上代码:
#include<iostream>
using namespace std;
int main()
{
int n,i;
cin>>n;
int sum=0,cnt=0;
for(i=1;i<=n;i++)
{
int temp=i;
while(temp)
{
int a=temp%10;
if(a==7) cnt++;
temp=temp/10;
}
if(i%7!=0 && cnt==0)
sum=sum+i*i;
cnt=0;
}
cout<<sum;
return 0;
}