1.5-39:与7无关的数

本文介绍了一个算法问题:求小于等于n的所有与7无关的正整数的平方和。与7无关的数是指既不能被7整除,十进制表示中也不含数字7的数。通过给出的C语言代码示例,详细展示了如何实现这一计算。

总时间限制: 

1000ms

内存限制: 

65536kB

描述

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.

输入

输入为一行,正整数n(n < 100)

输出

输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。

鲜例输入

21

样例输出

2336

来源

计算概论05

代码

#include<stdio.h>
int main()
{
	int i,n,sum=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		if(i%7!=0)
		{
		if(i/10!=7 && i%10!=7)
		sum+=i*i;
	    }
	}
	printf("%d",sum);
	return 0;
}

……………………………………以下内容不重要…………………………………………………………

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。输入为一行,正整数n(n < 100)

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。输入为一行,正整数n(n < 100)

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。输入为一行,正整数n(n < 100)

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。输入为一行,正整数n(n < 100)

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。输入为一行,正整数n(n < 100)

输出

输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。

鲜例输入

21

样例输出

2336

来源

计算概论05

代码

内存限制: 

65536kB

描述

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.

输入

输入为一行,正整数n(n < 100)

输出

输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。

鲜例输入

21

样例输出

2336

来源

计算概论05

# P6068 『MdOI R1』GCD? GCD! ## 题目描述 灵喜欢 $\mathrm{gcd}$,也就是 **最大公约**。如果你不知道什么叫做最大公约,你可以访问 [最大公约 - OI Wiki](https://oi-wiki.org/math/gcd/)。 灵给了你一个正整 $n$,要你把它分成三个 **互不相等的** 正整 $a,b,c$ 之和,使得 $\mathrm{gcd}(a,b,c)$ 最大。 ## 输入格式 **本题有多组据**。 第一行一个正整 $T$,表示据组。 接下来 $T$ 行,每行一个正整 $n$。 ## 输出格式 对于每组据,一行一个整,表示答案,即最大的 $\mathrm{gcd}(a,b,c)$ 。 特别地,如果 $n$ 无法分成三个互不相等的正整之和,请输出 `-1`。 ## 输入输出样例 #1 ### 输入 #1 ``` 3 12 27 5 ``` ### 输出 #1 ``` 2 3 -1 ``` ## 说明/提示 【样例解释】 将 $12$ 分成 $2+4+6$,可以证明 $\gcd(2,4,6)=2$ 为可能达到的最大值。 将 $27$ 分成 $3+6+18$,可以证明 $\gcd(3,6,18)=3$ 为可能达到的最大值。 $5$ 无法分成三个互不相等的正整之和,输出 `-1`。 ---据范围】 **本题采用捆绑测试。** | 子任务编号 | $n\leq$ | 分值 | | :--------: | :-----: | :--: | | 1 | $50$ | 17 | | 2 | $500$ | 19 | | 3 | $10^5$ | 23 | | 4 | $10^9$ | 41 | 对于 $100\%$ 的据,$1\le T \le 100$,$1\le n\le 10^9$。 这是我的代码, #include<bits/stdc++.h> using namespace std; int main() { int t; cin>>t; while(t--) { long long n; cin>>n; if(n<6) { cout<<-1<<endl; } else { long long p=1; for(long long i=6;i<sqrt(n);i++) { if(n%i==0) { p=n/i; break; } } if(p==1) { for(int i=1;i<6;i++) { if(n%i==0&&n/i>p&&n/i>=6) { p=i; } } } cout<<p<<endl; } } } 输入此据 30 6 13 17 13 31 36 36 40 3 23 43 40 39 45 20 23 17 5 6 25 16 30 29 50 23 41 24 26 6 1
08-06
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值